home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / comms / jammer.arj / INSTALL.EXE / USER.TXT / text only 2
Text File  |  1993-11-05  |  731KB  |  22,523 lines

  1. Note: This version of the "JT Fax 14400B Dual Application Developer's Guide" is a
  2. special version edited for bulletin-board downloading. As a plain ASCII
  3. character file, it therefore cannot contain any of the graphic elements
  4.  provided in the printed version.
  5.  
  6. The following graphic characters are used to denote the start of Chapters,
  7. 1st Level Headings, 2nd Level Headings, and Table Headings:
  8.  
  9. Chapter Headings are preceded by:
  10. ==========================================================================
  11.  
  12. 1st Level Headings are preceded by:
  13. **************************************************************************
  14.  
  15. 2nd Level Headings are preceded by:
  16. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17.  
  18. Table Headings are separated from table listings by:
  19. -----------------------------------------------------------------------------
  20.  
  21. =============================================================================
  22. CHANGE RECORD:
  23.  
  24.         Original
  25.  
  26.  
  27. ==========================================================================
  28. Chapter 1
  29. Introduction
  30.  
  31.  
  32. The Hayes JT Fax 14400B Dual is a board level Fax product developed specially 
  33. for "high end" server environments where throughput is a major concern. 
  34. The JT Fax 14400B Dual contains two independent 14.4 KBPS Group 3-compatible 
  35. fax modems, providing an interface directly to the PC ISA bus. Both fax modems 
  36. interface to the host software at the speed of the ISA bus specification (i.e., 4-8 
  37. MHz). Data transfer between JT Fax and the host software can occur at the 
  38. MBPS rate. In comparison, most serial based facsimile units can only transfer 
  39. data in the KBPS range. Considering speed alone, the JT Fax 14400B Dual is ideal 
  40. for server applications. 
  41.  
  42. Additional functionality is added to decrease the burden on the application 
  43. software and thus the host computer. These features include:
  44.  
  45. Ñ    automatic T.4 encoding and T.30 handshakes
  46. Ñ    receive Fax real time T.4 to PCX type 3 conversion
  47. Ñ    Fax speeds of 2400 to 14400 BPS
  48. Ñ    digital voice transmit and receive record/playback
  49. Ñ    DTMF transmit and detection.
  50.  
  51. The JT Fax 14400B Dual is designed with a simple high-speed interface. The 
  52. interface does not require that the application developer know T.4 encoding or 
  53. T.30 handshake protocols for ITU-T (formerly CCITT) Group 3 facsimiles. The 
  54. JT Fax 14400B Dual is capable of performing all the encoding and decoding 
  55. required to complete a fax call. However, if the application developer is 
  56. comfortable with the encoding and decoding of the T.4 formatted data, the JT 
  57. Fax 14400B Dual is versatile enough to handle this encoded data.
  58.  
  59. This Application Developer╒s Guide describes the programming procedure that 
  60. comprises the JT Fax 14400B Dual Application Programming Interface (API). A 
  61. list of the functions is provided along with the necessary procedure to 
  62. implement the functions. Throughout, the guide presents example routines 
  63. using the elements of the functions to assist the programmer with the 
  64. application. Included in Appendix G is a quick reference guide of the Command 
  65. Codes indexed by alphabetical listings and by numeric listing. Also available 
  66. with the JT Fax 14400B Dual is the developers toolkit, which contains working 
  67. Fax software with source code. Familiarity with "C" and assembly language is 
  68. required to use the toolkit. Contact Hayes Customer Service for information 
  69. about obtaining the JT Fax Toolkit.
  70.  
  71. Distinction: JT Fax 14400B Dual is the product described in this Guide. JT Fax is a standard technology in the PC fax industry. The term fax refers to the facsimile technology.
  72.  
  73.  
  74. **************************************************************************
  75. Manual Organization
  76. This Application Developer's Guide is arranged as follows:
  77.  
  78. This Application/Developers Guide is arranged as follows:
  79.  
  80. Chapter 1    Introduction describes the product features and the contents of 
  81. the remainder of this Guide.
  82.  
  83. Chapter 2    Theory of Operation briefly presents the hardware and firmware 
  84. used to develop the JT Fax 14400B Dual.
  85.  
  86. Chapter 3    JT Fax Toolbox describes the concepts, constructs, and structures 
  87. necessary to develop API software for the JT Fax 14400B Dual.
  88.  
  89. Chapter 4    Voice and DTMF Detect describes the voice and DTMF operating 
  90. modes available with the JT Fax 14400B Dual.
  91.  
  92. Chapter 5    Command Reference presents an alphabetical listing of all 
  93. command codes available in the JT Fax API.
  94.  
  95. Chapter 6    Shared Memory Interface Description introduces functions, 
  96. status codes, return codes and data that is passed through the Shared Memory 
  97. Interface.
  98.  
  99. Chapter 7    File Formats describes the JT Fax file conversion formats.
  100.  
  101. Appendix A    ITU-T T.4 Huffman Encoding describes the T.4 Huffman 
  102. Encoding process used by JT Fax.
  103.  
  104. Appendix B    Return Codes describes the timing JT Fax requires to read a return 
  105. code. The appendix also includes a summary of the JT Fax Return Codes.
  106.  
  107. Appendix C    Status Codes provides a summary of the JT Fax Status Codes.
  108.  
  109. Appendix D    T.30 Phase Descriptions describes fax call processing techniques 
  110. used by JT Fax.
  111.  
  112. Appendix E    Buffer Area Layout describes the Buffer Area used by several of 
  113. the JT Fax commands.
  114.  
  115. Appendix F    OEM Code Guidelines defines the methodology JT Fax employs to 
  116. offload code from a fax server.
  117.  
  118. Appendix G    Command Codes provides a complete listing of the JT Fax Command 
  119. Codes in numerical order.
  120.  
  121. Appendix H    References lists references used in the development of the 
  122. product.
  123.  
  124. Glossary    Glossary defines terms used in this guide.
  125.  
  126. **************************************************************************
  127. Definitions
  128. The following terms are used in this documentation:
  129.  
  130. Term        Definition
  131. --------------------------------------------------------------------
  132. Host         The Program written to interface with the JT Fax
  133. JT Fax, Fax    The JT Fax 14400B Dual board
  134. API        Application Programming Interface
  135. API Block    Shared memory window
  136. BPS        Bits per second
  137. WORD        2 bytes
  138. LONG        4 bytes
  139.  
  140. Additional definitions are listed in the Glossary.
  141.  
  142.  
  143. ==========================================================================
  144. Chapter 2
  145. Theory of Operation 
  146.  
  147.  
  148. The JT Fax 14400B Dual board includes two, 14400-baud, Group 3 facsimile 
  149. modems with voice and DTMF capabilities. The facsimile modems are divided 
  150. into two independent and separate parts, Fax A and Fax B. Each Fax has an 
  151. independent processor, PC address interface, data pump and telephone line 
  152. interface (TELCO) section. Both modems share a single PC bus interface and a 
  153. speaker connection. The speaker volume is controlled by a potentiometer on 
  154. the back of the unit. Speaker on/off controls are available for both FAX A and 
  155. B through functions.
  156.  
  157. Fax A has the additional feature of a microphone jack. The microphone jack is 
  158. provided for voice messaging applications.
  159.  
  160. **************************************************************************
  161. Shared Memory Interface - API Block
  162. The JT Fax interfaces to the PC through a shared memory interface. Access to 
  163. the shared memory API Block is accomplished by two steps. 
  164.  
  165. Step 1:    Set the memory base address set with the DIP switch (see the 
  166. Hayes JT Fax 14400B Dual Installation Guide) on the JT Fax 14400B Dual board. 
  167.  
  168. Step 2:    Scan the memory between addresses 640k and 1M for the keyword 
  169. "ASHER". Once the keyword is found, the keyword address marks the 
  170. beginning memory address of the JT Fax API Block.
  171.  
  172. The memory address is "blocked out" in a 4 Kb section. The starting address is 
  173. Fax A. Fax A utilizes the first 2 Kb for an API Block. The adjacent 2K of memory 
  174. is allocated to Fax B's API Block.
  175.  
  176. The shared memory interface requires no interrupt vectors to the PC, no serial 
  177. port, and no drivers. The application communicates with the JT Fax shared 
  178. memory using a polled interface method. Polling activation and frequency is 
  179. host dependent and is determined by the application.
  180.  
  181. The handshake required to communicate with JT Fax 14400B Dual utilizes the JT 
  182. Fax protocol structure. The JT Fax protocol is an ACK-ACK type protocol. All data 
  183. and commands use this protocol. Chapter 5 provides protocol examples for each 
  184. command.
  185.  
  186. The API Block contains memory windows for command protocol, control, 
  187. configuration, and data. The Shared Memory Interface (see Chapter 6) details 
  188. the API block. The API block's most important asset is the 1960 byte buffer for 
  189. transmitting and receiving fax data. This allows additional time for the host to 
  190. perform other activities. In addition, the JT Fax has a 9K buffer for transmitting
  191. and receiving Fax data.
  192.  
  193. The transmit and receive capability of the JT Fax 14400B Dual board offers two 
  194. modes of operation for the host: Manual and Automatic. Manual requires the 
  195. host to start the initial call/answer procedure by issuing commands that force 
  196. the Fax into the "off-hook" condition. The remainder of the call/answer is 
  197. automatic.
  198.  
  199. In the Automatic procedure, the call/answer is handled by issuing the 
  200. appropriate transmit and receive commands. The "off-hook" condition is 
  201. controlled by the Fax.
  202.  
  203.  
  204. **************************************************************************
  205. Transmitting
  206. Transmitting with the JT Fax 14400B Dual is straight-forward since the modem 
  207. automatically executes the T.4 and T.30 handshake. The host is only responsible 
  208. for the phone number, data to be transmitted, and the simple handshake 
  209. protocol to JT Fax and the host. 
  210.  
  211. The following is a high level Program Design Language (PDL) example 
  212. demonstrating a transmit.
  213.  
  214.     send SYNC_COMMAND        (only after power up )
  215.     wait for response
  216.         GOOD_INIT
  217.     write to configure API block
  218.     write phone number in BUFFER_AREA
  219.     send XMIT_COMMAND
  220.     wait for response 
  221.         BOARD_ACK_STATUS
  222.     write header information into BUFFER_AREA
  223.     send PC_ACK
  224.     wait for response LOAD_DATA_COMMAND
  225.     write data to DATA_AREA
  226.     send PC_ACK
  227.     continue to write data till END_OF_FILE is reached
  228.     send EOT_FLAG
  229.     wait for response BOARD_ACK_STATUS
  230.     check ret_code
  231.         TRANSMIT_SUCCESSFUL
  232.     send PC_ACK
  233.  
  234. A C programming language example of the transmit procedure can be found 
  235. in the JT Fax Toolkit found on the Online with Hayes BBS in the file JT_TX.C.
  236.  
  237. The JT Fax 14400B Dual can have a manual dial if required. The host is required 
  238. to dial the telephone number and place an "M" in the first byte of the 
  239. automatic dial string. The "M" tells the JT Fax not to dial a telephone number. The 
  240. JT Fax continues with the standard call progress. The manual handshake is 
  241. identical to the automatic handshake.
  242.  
  243.  
  244. *****************************************************************************
  245. Receiving
  246. The receive procedure for JT Fax 14400B Dual requires the host to monitor the 
  247. Fax for an indication of a call. The host sets the number of rings to allow 
  248. before answering in the RING_COUNT field of the API block. Answering the 
  249. call and T.30 handshakes are automatic. Once the RING_COUNT is matched, the 
  250. host receives a RECVINIT in the COMMAND field. The RECVINIT is the 
  251. notification that an incoming call is being answered.
  252.  
  253. After the receiver initializes, the Fax issues a LOAD_DATA_COMMAND. The host 
  254. should retrieve the data and respond with a PC_ACK. The same handshake 
  255. continues until the last byte of data for the page or a transmission. To end 
  256. transmission, the Fax issues an EOT command to the host. The EOT command 
  257. concludes the handshake for the receive.
  258.  
  259. The following is a PDL example demonstrating a fax receive:
  260.  
  261.     send SYNC_COMMAND        ( only after power up )
  262.     wait for response
  263.         RECVINIT
  264.     send PC_ACK 
  265.     wait for response
  266.         LOAD_DATA_COMMAND
  267.     retrieve data from DATA_AREA
  268.     send PC_ACK
  269.     continue procedural handshake until response
  270.         EOT_FLAG
  271.     retrieve data from DATA_AREA    
  272.     send PC_ACK
  273.     wait for response
  274.         BOARD_ACK_STATUS
  275.     check RET_CODE
  276.         SUCCESSFUL_RECEIVE
  277.     send PC_ACK
  278.     
  279. A C programming language example of the receive procedure can be found 
  280. in the JT Fax Toolkit found on the Online with Hayes BBS under the file JT_RX.C.
  281.  
  282. The manual receive allows the host to determine when and if the call will be 
  283. answered. Rings are detected by an outside source or by the extended status 
  284. code "RING". When the required number of rings is reached, the host issues 
  285. the MANUAL_RECEIVE_COMMAND.
  286.  
  287. Note: To disable automatic detection, it is required to set RING_COUNT to 0FH. 
  288.  
  289. The remaining receive handshake procedure is identical to the automatic 
  290. answer mode.
  291.  
  292.  
  293. ==========================================================================
  294. Chapter 3
  295. JT Fax Toolbox
  296. This section establishes the concepts, constructs, and structures necessary to 
  297. develop API software. The items in capital letters are the specific functions 
  298. whose corresponding command values are found in the JT Fax 14400B 
  299. command set in Chapter 5.
  300.  
  301.  
  302. The JT Fax 14400B Dual uses two contiguous memory blocks, each of which is 2K 
  303. bytes long. The API Blocks, functions, return codes and status codes are 
  304. discussed in separate sections of this Guide. In those Chapters, individual items 
  305. are in alphabetical order for convenience. In the following sections, the items 
  306. are grouped by function to clarify what functions are available.
  307.  
  308.  
  309. **************************************************************************
  310. API Block - Shared Memory
  311. The API entry point for the JT Fax 14400B is the user selectable shared memory 
  312. window. For backward compatibility, most of the elements of this structure are 
  313. identical to the JT Fax 9600B. The only changes implemented to this structure 
  314. are related to the new features of the JT Fax 14400B Dual. The changes are in 
  315. the field previously defined as RESERVED and in one field not used in 9600B 
  316. (RESET_PC). The new fields are STATUS_CODE, RCV_FILE_TYPE and RCV_LINES. 
  317. The following chart describes the available fields:
  318.  
  319.  
  320. Offset Length    Name            Usage/Description
  321. -----------------------------------------------------------------------
  322. 0000H-0005H     ID            Location of board address
  323. 0005H-0001H     COMMAND        Commands and Status
  324. 0006H-0001H     RING_COUNT    Ring to answer on
  325. 0007H-0001H     CALL_MODE        Transmit / Receive
  326. 0008H-0001H     FILE_TYPE         ASCII, PCX, JT Fax
  327. 0009H-0001H     XMIT_FONT         Resolution, Font number
  328. 000AH-0001H     MIN_PAGE         Force 11 inch page flag
  329. 000BH-003DH     BUFFER_AREA     Phone numbers & headers
  330. 0048H-0002H     SECONDS         Length of connection
  331. 004AH-0001H     SPEAKER         On, off, on till connect
  332. 004BH-0001H     RET_CODE         Completion code
  333. 004CH-0002H     PAGES         Number of pages sent
  334. 004EH-0002H     DATA_LEN         Length of valid data
  335. 0050H-0001H     BAUD_RATE         2400, 4800, 7200, 9600, 12000,
  336.                         14400 baud
  337. 0051H-0001H     RESET_BOARD     Reset the board
  338. 0052H-0001H     STATUS_CODE     Extended status
  339. 0053H-0001H    LINE_COUNT        Number of lines transmitted
  340. 0054H-0001H     RCV_FILE_TYPE     Receive file type
  341. 0055H-0002H     RCV_LINE         Lines per page received
  342. 0057H-0001H     RESERVED         Not used at this time
  343. 0058H-07A8H     DATA_AREA     Used for file data
  344.  
  345. Note: H indicates hexadecimal code.
  346.  
  347.  
  348. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  349. JT Fax 9600 Compatibility
  350. For backward compatibility, the API set published with the JT Fax 9600B has 
  351. been fully implemented. These functions use the Command field and are 
  352. provided here for reference.
  353.  
  354. Status                Description
  355. ------------------------------------------------------------------
  356. EOTFLAG                End of transmission
  357. EOP                    End of page
  358. INIT                    Initialize the board
  359. LOAD_DATA_COMMAND        Begin transmit of Fax
  360. LOAD_FONT_COMMAND        Load soft font
  361. RECVINIT                Begin reception of Fax
  362. XMIT_COMMAND            No transmission in progress
  363.  
  364. The JT Fax 9600B also included some status and PC handshake codes in the 
  365. Command field. These are fully implemented for backward compatibility. The 
  366. codes are provided here for reference.
  367.  
  368. Command                Description
  369. ------------------------------------------------------------------------------
  370. BAD_RAM                RAM test failed
  371. BAD_ROM                ROM test failed
  372. BOARD_ACK_STATUS        Board returns when function complete
  373. BOARD_SYNC_COMMAND        Transition from initialization to 
  374.                     command
  375. ERROR                An error has occurred
  376. GOOD_INIT                Board passed self test
  377. IDLE_STATUS             No transmission in progress
  378. PC_ACK                PC returns when function is complete
  379.  
  380.  
  381. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  382. JT Fax 14400B Facsimile API
  383. The JT Fax 14400B API set is an enhanced version of the 9600B API set. All of 
  384. the 9600B functions are supported. The following chart lists the facsimile API 
  385. commands supported:
  386.  
  387. Command                Description
  388. -------------------------------------------------------------------
  389. EOTFLAG                End of transmission
  390. EOP_FLAG                End of page
  391. BOARD_SYNC_COMMAND        Initializes the board
  392. LOAD_DATA_COMMAND        Begin transmit of Fax
  393. LOAD_FONT_COMMAND        Load soft font
  394. RECVINIT                Begin reception of Fax
  395. XMIT_COMMAND            No transmission in progress
  396.  
  397.  
  398. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  399. JT Fax 14400B Configuration API
  400. The JT Fax 14400B Dual Configuration functions were not available in the JT 
  401. Fax 9600B command set. These configuration functions allow the host to 
  402. customize the operation of the JT Fax 14400B Dual board. The following chart 
  403. lists the configuration commands:
  404.  
  405. Command                Description
  406. ----------------------------------------------------------------------
  407. BUSY_COMMAND            Look for busy
  408. DTMF_OFF_TIME_COMMAND    DTMF off time
  409. DTMF_ON_TIME_COMMAND    DTMF on time
  410. ENHANCED_MODE_OFF_COMMANDDisable 14400B modes
  411. ENHANCED_MODE_ON_COMMAND    Enable all 14400B modes
  412. EXTEND_STATUS_OFF_COMMAND    Disable extended status
  413. EXTEND_STATUS_ON_COMMAND    Enable extended status
  414. FAX_144_MODE_OFF_COMMAND    Disable receive 14400 kbps
  415. FAX_144_MODE_ON_COMMAND    Enable receive 14400 kbps
  416. FAX_MODE_COMMAND        Enable JT Fax Mode (testing)
  417. MODEM_MODE_COMMAND        Disable Fax and enable Modem
  418. NO_BUSY_COMMAND        Do not look for busy
  419. PULSE_INTER_COMMAND        Interdigit time
  420. REC_PCX_OFF_COMMAND        Disable receive PCX format
  421. REC_PCX_ON_COMMAND        Enable receive PCX format
  422. SET_CARRIER_COMMAND        Time to wait for carrier
  423. STATUS_COMMAND            Enable the 14400B status
  424. USER_CSI_COMMAND        Initializes CSI
  425. USER_TSI_COMMAND        Initializes TSI
  426.  
  427.  
  428. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  429. Voice Commands
  430. The Voice mode allows the recording and playback of non-compressed voice 
  431. messages. 
  432.  
  433. During Phase A of a call, the Voice mode is entered after a user definable 
  434. period of silence. (See Appendix D for a detailed description of JT Fax fax 
  435. phases). After a period of silence, the user is notified of the "silent period" 
  436. (SILENCE_DETECTED status) and is provided with a number of options. In 
  437. addition, DTMF detect is automatically enabled.
  438.  
  439. Command                Description
  440. -------------------------------------------------------------------------------
  441. CLEAR_VOICE_COMMAND        Disables voice mode
  442. GAIN_DOWN_COMMAND        Decrements gain increment by 1 dB 
  443.                     (See SET_GAIN_COMMAND)
  444. GAIN_UP_COMMAND        Increments the gain increment by 1 dB
  445.                     (See SET_GAIN_COMMAND)
  446. PLAY_END_COMMAND        End voice playback
  447. PLAY_START_COMMAND        Start voice play back
  448. RECORD_START_COMMAND    Start recording voice
  449. RECORD_STOP_COMMAND        Stop recording voice
  450. RETURN_TO_COMMAND         Return to command state from voice
  451.                     mode
  452. RETURN_TO_DATA_COMMAND    Return to Fax state from voice mode
  453. SET_ACT_TIMER_COMMAND    Sets the time to wait for CNG tone
  454. SET_GAIN_COMMAND        Sets the gain increment
  455. SET_SLEW_RATE_COMMAND    Sets the "fall off rate" for voice signal 
  456. SET_VOICE_MODE_COMMAND    Enables voice mode and CNG detect
  457. TX_DTMF_COMMAND        Transmit DTMF tones
  458.  
  459. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  460. Utility Functions
  461. Some additional functions were added to aid in testing and debugging. The 
  462. utility functions provide some of the low-level commands (primitives) used by 
  463. the JT Fax 14400B to operate the hardware components. The JT Fax 14400B must 
  464. be in FAX_MODE before any of the utility commands can be used. 
  465.  
  466. Caution: Some of these commands change the configuration of the Data Pump. 
  467. If a change occurs to the data pump configuration, then a hardware reset will 
  468. restore the values.
  469.  
  470. Command                Description
  471. ------------------------------------------------------------------
  472. CED_OFF_COMMAND        Turn off CED tone
  473. CED_ON_COMMAND            Turn on CED tone
  474. CNG_OFF_COMMAND        Turn off CNG tone
  475. CNG_ON_COMMAND            Turn on CNG tone
  476. DTMF_DIAL_COMMAND        Dial a DTMF number
  477. DTMF_OFF_COMMAND        Turn off a DTMF tone
  478. DTMF_ON_COMMAND        Turn on a DTMF tone
  479. OEM_CODE_COMMAND        Execute OEM code onboard
  480. OEM_LOAD_COMMAND        Load OEM code onboard
  481. OFF_HOOK_COMMAND        Connects phone line
  482. ON_HOOK_COMMAND        Disconnects phone line
  483. PULSE_BREAK_COMMAND        Sets the Break Time
  484. PULSE_DIAL_COMMAND        Pulse dial a number
  485. PULSE_MAKE_COMMAND        Sets the Make Time
  486. RESET_DATA_PUMP_COMMAND    Resets the data pump
  487. SPEAKER_OFF_COMMAND        Turn off the speaker
  488. SPEAKER_ON_COMMAND        Turn on the speaker
  489.  
  490.  
  491. **************************************************************************
  492. Return Codes
  493. The return codes are enhanced for the JT Fax 14400B. In addition to the old JT 
  494. Fax 9600B error codes, enhanced codes are available for more accurate 
  495. problem determination during a FAX call.
  496.  
  497. The standard JT Fax 9600B return codes include two status codes, and the 
  498. remaining codes are error return codes. The return codes are listed in the 
  499. following table.
  500.  
  501. Error Code                Description
  502. --------------------------------------------------------------------------------
  503. BAD_DCS_RECEIVE            Error in DCS data
  504. BAD_DIS_RECEIVE            Bad DIS was received
  505. BAD_MCF_RESPONSE        Messages not confirmed
  506. BAD_MPS_RECEIVE            Error in MPS frame
  507. BAD_TRAINING            Errors received in training
  508. BUSY                    Busy signal was detected
  509. CLIPPED                ASCII to T4 line too long
  510. NO_CARRIER            No connection was established
  511. NO_DATA_RECEIVED        No data received within time limit
  512. NO_DIALTONE            No dialtone reported in time limit
  513. NO_PC_ACK                No PC acknowledge within time limit
  514. PAGE_ERROR            Error in transmit page or receive page
  515. PHASE_D_ERROR            Error occurred in Phase D
  516. SUCCESSFUL_RECEIVE        Receive was successful
  517. SUCCESSFUL_TRANSMIT        Transmit was successful
  518.  
  519. The enhanced mode can be enabled/disabled by the following commands:
  520.  
  521. Ñ    ENHANCED_MODE_ON
  522. Ñ    ENHANCED_MODE_OFF (default).
  523.  
  524. The additional enhanced return codes are listed in the following table.
  525.  
  526. Error Code                Description
  527. ------------------------------------------------------------------------------
  528. ABORT_ERROR            Callee aborted call
  529. DCN_RECEIVED_ERROR        Unexpected DCN received
  530. DIALING_ERROR            DTMF digit in error
  531. DTMF_ERROR            Tone was not DTME
  532. DTMF_TIMEOUT_ERROR        DTMF tone was not available during timeout
  533. FAXIT_ERROR            Error during fax transmission
  534. FONT_TOO_LARGE_ERROR        Soft font too large
  535. HDLC_CRC_ERROR            HDLC frame had bad CRC
  536. HDLC_FRAME_TIMEOUT_ERROR    No HDLC frame in time limit
  537. HDLC_MIN_SIZE_ERROR        Facsimile control frames had incorrect size
  538. LONG_LINE_ERROR            Line too long in ASCII to Huffman
  539. MAX_FRAME_ERROR        Facsimile control frames had incorrect size
  540. NEGOTIATING_TRAIN_DCN_ERROR    DCN received during training
  541. NO_CNG_ERROR            No CNG detected in received mode
  542. NO_RECEIVE_DCS_ERROR        No DCS received
  543. PERCENTAGE_ERROR        Errors in line exceeded percentage limits
  544. PHASE_A_ERROR            Error occurred in Phase A
  545. PHASE_B_ERROR            Error occurred in Phase B
  546. PHASE_C_ERROR            Error occurred in Phase C
  547. PHASE_E_ERROR            Error occurred in Phase E
  548. PHASE_E_TIMEOUT            Time-out during handshake Phase E
  549. ROCK_ERROR            Error in DSP chip
  550. VOICE_ERROR            Error in voice procedures
  551.  
  552.  
  553. **************************************************************************
  554. Status Codes
  555. In addition to the enhanced error codes, enhanced status messages are 
  556. available. Since status codes do not require a response or action, the codes are 
  557. reported in the STATUS_CODE.
  558.  
  559. Status            Description
  560. ----------------------------------------------------------
  561. CONNECT            Connection established
  562. NEGOTIATING_SPEED    Negotiating connect speed
  563. PHASE_A_START        Phase A started
  564. PHASE_B_START        Phase B started
  565. PHASE_C_START        Phase C started
  566. PHASE_D_START        Phase D started
  567. RING                Ring detected
  568. SUBSCRIBE_INFO        CSI/TSI information available in buffer area
  569.  
  570.  
  571. ==========================================================================
  572. Chapter 4
  573. Voice and DTMF Detect
  574.  
  575.  
  576. The voice and DTMF detect option of the JT Fax 14400B Dual has a Manual and an 
  577. Automatic operating mode. Automatic requires a connection while Manual may 
  578. be initiated in an off- line or on-line state.
  579.  
  580. The Automatic DTMF/VOICE detection for JT Fax 14400B Dual detects DTMF/VOICE 
  581. during the Phase A (answer mode) of a call. Enable the 
  582. CNG_DETECT_ON_command for the automatic option. To disable the automatic 
  583. mode, issue the CNG_DETECT_OFF_COMMAND.
  584.  
  585. After a user-defined period of silence (no CNG tone), the JT Fax 14400B Dual 
  586. enters DTMF/VOICE mode. During this stage, the user has the following options:
  587.  
  588. Ñ    detecting DTMF tones
  589. Ñ    returning to data mode and continuing to answer Fax calls (i.e., send 
  590. CED)
  591. Ñ    executing voice commands
  592. Ñ    returning to command state. 
  593.  
  594. The Manual mode only requires setting the options for DTMF/VOICE and the 
  595. specific command to be issued. Manual mode is independent of connection 
  596. status.
  597.  
  598.  
  599. **************************************************************************
  600. DTMF Detect
  601. Automatic DTMF detection is accomplished when the JT Fax 14400B Dual is in 
  602. the DTMF/VOICE ╥on-line╙ detect mode. The JT Fax 14400B Dual automatically 
  603. searches for DTMF tones. If a DTMF tone is found, the tone value is placed in 
  604. the first byte of the Data_Area and a DTMF_DETECT_STATUS is written into the 
  605. API command block at location COMMAND. The JT Fax 14400B Dual waits until 
  606. the Host retrieves the DTMF value and issues a PC_ACK command before 
  607. searching for more DTMF tones.
  608.  
  609. The manual option provides the capability of entering DTMF detect mode from 
  610. command state. This is independent of connect status. The JT Fax 14400B Dual 
  611. operates similarly to the automatic DTMF detect. The difference is that the Host 
  612. must cancel the DTMF detect search with an EOD command. The JT Fax 14400B 
  613. Dual issues a BOARD_ACK_COMMAND in response. 
  614.  
  615. The option for CNG_DETECT does not have to be enabled for the manual DTMF 
  616. detect. However, DTMF detect option does need to be enabled for manual and 
  617. automatic operation.
  618.  
  619. The DTMF tones detected and reported to the Host are:
  620.  
  621.     1, 2, 3, 4, 5, 6, 7, 8, 9, 0, *, #, A, B, C, D.
  622.  
  623. Commands available for Automatic operation are:
  624.  
  625.     CNG_DETECT_ON_COMMAND
  626.     DTMF_DIAL_COMMAND
  627.     DTMF_DETECT_STATUS
  628.     RETURN_TO_DATA_COMMAND
  629.     RETURN_TO_COMMAND
  630.  
  631. Commands available for manual operation include:
  632.  
  633.     DTMF_DETECT_ON_COMMAND
  634.     EOD
  635.     DTMF_DETECT_STATUS
  636.  
  637. The following is an example of automatic DTMF detect:
  638.  
  639.     (Connecting Call)
  640.         .
  641.         .
  642.         .
  643.     Wait for Response
  644.         SILENCE_DETECT_STATUS
  645.     Check Status
  646.         VOICE_MODE
  647.         .
  648.         .
  649.         .
  650.     Wait for Response
  651.         DTMF_DETECT_STATUS
  652.     Retrieve Byte Code from Data_Area
  653.     Send PC_ACK
  654.         .
  655.         .
  656.         .
  657.     (Continuing in DTMF/Voice Mode)
  658.  
  659. The following is an example of manual DTMF detect:
  660.  
  661.     Send GET_DTMF_COMMAND
  662.     Wait for Response
  663.         BOARD_ACK_STATUS
  664.     Wait for Response
  665.         DTMF_DETECT_STATUS
  666.     Retrieve Byte Data from Data_Area
  667.     Send PC_ACK
  668.         .
  669.         .
  670.         .
  671.     (When Finished)
  672.     Send EOD_FLAG
  673.     Wait for Response
  674.         BOARD_ACK_COMMAND
  675.     Send PC_ACK
  676.  
  677.  
  678. **************************************************************************
  679. Voice Mode
  680. Voice mode can be entered when you are connected or disconnected to the 
  681. phone line. When connected, voice recording is provided from the telephone 
  682. line to either Fax A or Fax B. In the disconnected mode, input is provided by a 
  683. microphone on Fax A only. 
  684.  
  685. In automatic voice mode, DTMF and voice are enabled. During Phase A of the 
  686. call, the Voice mode is entered after a user definable period of silence. After 
  687. the period of silence, the Host is notified of the "silent period" 
  688. (SILENCE_DETECTED status) and starts to execute options similar in 
  689. functionality to the Class 2 voice commands. 
  690.  
  691. The options in Automatic mode are:
  692.  
  693. Command                Description
  694. ----------------------------------------------------------------------------------
  695. CNG_DETECT_ON_COMMAND    Enables voice mode and CNG detect
  696. CNG_DETECT_OFF_COMMAND    (default)
  697. SET_ACTIVITY_TIMER        Sets the time to wait for CNG tone
  698. GAIN_UP                Increases the gain increment by 1 dB
  699. GAIN_DOWN                Decrements gain increment by 1 dB
  700. SET_GAIN                Sets the gain increment
  701. SET_SLEW_RATE            Sets the "fall-off rate" for voice signal
  702. RETURN_TO_COMMAND        Returns to command state from voice mode
  703. RECORD_START            Starts recording voice
  704. RECORD_STOP            Stops recording voice
  705. PLAY_START            Starts voice play back
  706. PLAY_END                Ends voice playback
  707. DIAL_DTMF_COMMAND        Transmits DTMF tones
  708.  
  709. Manual voice mode requires the host to issue the SETUP_VOICE_COMMAND from 
  710. command state. Once the command is received by the FAX, the JT Fax 14400B 
  711. Dual enters the VOICE/DTMF mode and all commands available for Automatic 
  712. mode are applicable except the RETURN_TO_DATA_COMMAND.
  713.  
  714. During the actual playing and recording of a message, the DTMF detection is 
  715. not available. This is due to the half-duplex nature of the 144EFX chip and 
  716. different modes required for DTMF DETECT and VOICE mode. However, after the 
  717. message is sent DTMF detection may occur.
  718.  
  719. Voice data format during record and playback is in a raw binary 8-bit 
  720. resolution format.
  721.  
  722. The following PDL example is for automatic voice playback:
  723.  
  724.     (Initiate Call)
  725.         .
  726.         .
  727.         .
  728.     Wait for Response
  729.         SILENCE_DETECT_STATUS
  730.     Send PC_ACK
  731.     Write Voice Data in Data_Area
  732.     Send Play Start
  733.     Wait for Response
  734.         LOAD_DATA_COMMAND
  735.         .
  736.         .
  737.         .
  738.     (Finish Data)
  739.         SEND_EOV_FLAG
  740.     Wait for Response
  741.         BOARD_ACK_COMMAND
  742.     Send PC_ACK
  743.         .
  744.         .
  745.         .
  746.     (Continue with Voice/DTMF loop)
  747.  
  748. Voice playback is completed.
  749.  
  750. The following example is for manual record off-line.
  751.  
  752. Step 1:    Attach the microphone to the Fax A microphone jack.
  753.  
  754. Step 2:    Start the voice recording process:
  755.  
  756.         Send REC_START_COMMAND
  757.         Wait for Response
  758.             BOARD_ACK_STATUS
  759.         Wait for Response
  760.             LOAD_DATA_COMMAND
  761.         Retrieve voice data from Data_Area
  762.         Send PC_ACK
  763.             .
  764.             .
  765.             .
  766.         Wait for Response
  767.             EOVFLAG
  768.         Send PC_ACK
  769.  
  770. This completes the voice recording. 
  771.  
  772. To use Manual Voice Recording, use the previous procedure, but replace the 
  773. REC_START_COMMAND with the MANUAL_REC_COMMAND.
  774.  
  775.  
  776. ==========================================================================
  777. Chapter 5
  778. Command Reference
  779.  
  780.  
  781. This Chapter includes detailed descriptions of the JT Fax command set. The 
  782. point of reference is from the HOST side for all commands. The command 
  783. descriptions are in the following format:
  784.  
  785. Characteristic        Description
  786. COMMAND:             Specific function or status mnemonic
  787. CODE:                 Hex code 
  788. CATEGORY:            Fax, Status, Configuration, Utility, Voice
  789. DIRECTION:            Host to JT Fax or JT Fax to Host
  790. INPUT to JT:            Location in API block. Direction: JT Fax
  791. OUTPUT from JT:        Location in API block. Direction: Host
  792. DEFAULT:            Default for status commands
  793. DESCRIPTION:        Detailed description of command
  794.  
  795. EXAMPLE:            A flow language example
  796.  
  797. RELATED FUNCTIONS:     Any other functions that might be of use
  798.  
  799. The commands are presented in alphabetical order.
  800.  
  801. Note: A PC_ACK is required after a BOARD_ACK status unless otherwise specified 
  802. by the specific command feature.
  803.  
  804. **************************************************************************
  805. BAD_RAM
  806. Characteristic        Description
  807. COMMAND:             BAD_RAM
  808. CODE:                 0F1H
  809. CATEGORY:            Fax - Compatibility 
  810. DIRECTION:            JT Fax to Host
  811. INPUT to JT:            None
  812. OUTPUT from JT:        None
  813. DEFAULT:            Not applicable
  814.  
  815. DESCRIPTION:        BAD_RAM is issued after the RAM test was 
  816. performed. BAD_RAM is an indication of a faulty random access memory chip. 
  817. It is not recommended that FAX operation proceed. Call Hayes Customer Service.
  818.  
  819. EXAMPLE:            BOARD_SYNC_COMMAND        - Host
  820.                 BAD_RAM                - FAX
  821.                 PC_ACK                - Host
  822.                 IDLE                    - FAX
  823.  
  824. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  825.                 HARDWARE_RESET_COMMAND
  826.  
  827.  
  828. *****************************************************************************
  829. BAD_ROM
  830. Characteristic        Description
  831. COMMAND:             BAD_ROM
  832. CODE:                 0F2H
  833. CATEGORY:            Fax - Compatibility 
  834. DIRECTION:            JT Fax to Host
  835. INPUT to JT:            None
  836. OUTPUT from JT:        None
  837. DEFAULT:            Not applicable
  838.  
  839. DESCRIPTION:    BAD_ROM is issued after the ROM test was performed. 
  840. BAD_ROM is an indication of faulty read only memory chip. It is not 
  841. recommended that FAX operation proceed. Call Hayes Customer Service.
  842.  
  843. EXAMPLE:            BOARD_SYNC_COMMAND        - Host
  844.                 BAD_ROM                - FAX
  845.                 PC_ACK                 - Host
  846.                 IDLE                    - FAX
  847.  
  848. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  849.                 HARDWARE_RESET_COMMAND
  850.  
  851.  
  852. **************************************************************************
  853. Board_ACK_Status
  854. Characteristic        Description
  855. COMMAND:             Board_ACK_Status
  856. CODE:                 02H
  857. CATEGORY:            Status 
  858. DIRECTION:            JT Fax to Host
  859. INPUT to JT:            None
  860. OUTPUT from JT:        None
  861. DEFAULT:            Not applicable
  862.  
  863. DESCRIPTION:        This API is part of the handshake protocol with the 
  864. Host. The JT Fax board returns a BOARD_ACK_STATUS acknowledging the 
  865. receipt or completion of a command. Some commands have additional 
  866. handshake sequences and are detailed under the specific command.
  867.  
  868. EXAMPLE:            REC_PCX_ON_COMMAND         - Host
  869.                 BOARD_ACK_STATUS         - JT Fax
  870.                 (continue if necessary)
  871.                     .
  872.                     .
  873.                     .
  874.  
  875. RELATED FUNCTIONS:     PC_ACK
  876.  
  877.  
  878. **************************************************************************
  879. Board_Sync_Command
  880. Characteristic        Description
  881. COMMAND:             Board_Sync_Command
  882. CODE:                 0FFH
  883. CATEGORY:            FAX - Compatibility 
  884. DIRECTION:            Host to JT Fax
  885. INPUT to JT:            None
  886. OUTPUT from JT:        GOOD_INIT
  887.                 IDLE
  888. DEFAULT:            Not applicable
  889.  
  890. DESCRIPTION:    The BOARD_SYNC_COMMAND initiates command state for 
  891. the Fax after a power up or HARDWARE_RESET_COMMAND. No commands are 
  892. accepted by the Fax until this command is issued. After the command is issued, 
  893. BOARD_STATUS is updated in the API block. A GOOD_INIT is issued when the Fax 
  894. is ready for commands. If a GOOD_INIT is not received , then the Host may need 
  895. to issue another HARDWARE_RESET_COMMAND.
  896.  
  897. EXAMPLE:            BOARD_SYNC_COMMAND         - Host
  898.                 GOOD_INIT                 - FAX
  899.                 PC_ACK                 - Host
  900.                 IDLE                     - FAX
  901.  
  902. RELATED FUNCTIONS:     GOOD_INIT,
  903.                 HARDWARE_RESET_COMMAND
  904.  
  905.  
  906. **************************************************************************
  907. Busy_Command
  908. Characteristic        Description
  909. COMMAND:             Busy_Command
  910. CODE:                 02FH
  911. CATEGORY:            Configuration 
  912. DIRECTION:            Host to JT Fax
  913. INPUT to JT:            None
  914. OUTPUT from JT:        BOARD_ACK_STATUS
  915. DEFAULT:            Detect Busy
  916.  
  917. DESCRIPTION:        The BUSY_COMMAND instructs the JT Fax to 
  918. recognize a busy signal.
  919.  
  920. EXAMPLE:            IDLE                    - FAX
  921.                 BUSY_COMMAND             - Host
  922.                 BOARD_ACK_STATUS        - FAX
  923.                 PC_ACK                - Host
  924.                 IDLE_STATUS            - Fax
  925.  
  926. RELATED FUNCTIONS:     XMIT_COMMAND, 
  927.                 PULSE_DIAL_COMMAND,
  928.                 DTMF_DIAL_COMMAND
  929.  
  930.  
  931. **************************************************************************
  932. CED_Off_Command
  933. Characteristic        Description
  934. COMMAND:             CED_Off_Command
  935. CODE:                 037H
  936. CATEGORY:            Utility
  937. DIRECTION:            Host to JT Fax
  938. INPUT to JT:            None
  939. OUTPUT from JT:        BOARD_ACK_STATUS
  940. DEFAULT:            Not applicable
  941. DESCRIPTION:        The CED_OFF_COMMAND terminates the output of an 
  942. ITU-T T.4 specified 2100 Hz tone. 
  943.  
  944. EXAMPLE:            CED_OFF_COMMAND        - Host
  945.                 BOARD_ACK_STATUS        - FAX
  946.                 PC_ACK                - Host
  947.                 IDLE                    - FAX
  948.  
  949. RELATED FUNCTIONS:     CED_ON_COMMAND
  950.  
  951.  
  952. *****************************************************************************
  953. CED_On_Command
  954. Characteristic        Description
  955. COMMAND:             CED_On_Command
  956. CODE:                 036H
  957. CATEGORY:            Utility
  958. DIRECTION:            Host to JT Fax
  959. INPUT to JT:            None
  960. OUTPUT from JT:        BOARD_ACK_STATUS
  961. DEFAULT:            Not applicable
  962. DESCRIPTION:        The CED_ON_COMMAND outputs an ITU-T T.4 specified 
  963. 2100 Hz tone.
  964.  
  965. EXAMPLE:            CED_ON_COMMAND            - Host
  966.                 BOARD_ACK_STATUS        - FAX
  967.                 PC_ACK                - Host
  968.                 IDLE                    - FAX
  969.  
  970. RELATED FUNCTIONS:     CED_OFF_COMMAND
  971.  
  972.  
  973.  
  974. **************************************************************************
  975. CNG_Detect_Off_Command
  976. Characteristic        Description
  977. COMMAND:             CNG_Detect_Off_Command
  978. CODE:                 061H
  979. CATEGORY:            Voice - Configuration
  980. DIRECTION:            Host to JT Fax
  981. INPUT to JT:            None
  982. OUTPUT from JT:        BOARD_ACK_STATUS
  983. DEFAULT:            Off
  984.  
  985. DESCRIPTION:        The CNG_DETECT_OFF_COMMAND must be issued from 
  986. command state. The command disables the voice and DTMF modes when 
  987. answering a call. After answering a call, the Fax will not determine if the 
  988. caller is a voice call or Fax call by detecting a CNG tone. The answer back tone 
  989. is transmitted. 
  990.  
  991. EXAMPLE:            IDLE                    - FAX
  992.                 CNG_DETECT_OFF_COMMAND     - Host
  993.                 BOARD_ACK_STATUS        - FAX
  994.                 PC_ACK                - Host
  995.                 IDLE                    - FAX
  996.  
  997. RELATED FUNCTIONS:     "Voice and DTMF", 
  998.                 CNG_DETECT_ON_COMMAND, 
  999.                 ERRFLAG, NO_CNG_DETECT_ERROR
  1000.  
  1001.  
  1002. **************************************************************************
  1003. CNG_Detect_On_Command
  1004. Characteristic        Description
  1005. COMMAND:             CNG_Detect_On_Command
  1006. CODE:                 060H
  1007. CATEGORY:            Voice - Configuration
  1008. DIRECTION:            Host to JT Fax
  1009. INPUT to JT:            None
  1010. OUTPUT from JT:        BOARD_ACK_STATUS
  1011. DEFAULT:            Off
  1012.  
  1013. DESCRIPTION:        The CNG_DETECT_ON_COMMAND must be issued from 
  1014. command state. The command enables the voice and DTMF modes when 
  1015. answering a call. After answering a call, the Fax will not determine if the 
  1016. caller is a voice call or Fax call by detecting a CNG tone. The answer back tone 
  1017. is transmitted. 
  1018.  
  1019. EXAMPLE:            IDLE                    - FAX
  1020.                 CNG_DETECT_ON_COMMAND     - Host
  1021.                 BOARD_ACK_STATUS        - FAX
  1022.                 PC_ACK                - Host
  1023.                 IDLE                    - FAX
  1024.  
  1025. RELATED FUNCTIONS:     "Voice and DTMF", 
  1026.                 CNG_DETECT_ON_COMMAND, ERRFLAG, 
  1027.                 NO_CNG_DETECT_ERROR
  1028.  
  1029.  
  1030. **************************************************************************
  1031. CNG_Off_Command
  1032. Characteristic        Description
  1033. COMMAND:             CNG_Off_Command
  1034. CODE:                 035H
  1035. CATEGORY:            Utility
  1036. DIRECTION:            Host to JT Fax
  1037. INPUT to JT:            None
  1038. OUTPUT from JT:        BOARD_ACK_STATUS
  1039. DEFAULT:            Not applicable
  1040. DESCRIPTION:        The CNG_OFF_COMMAND terminates the output of an 
  1041. ITU-T T.4 specified 1100 Hz tone.
  1042.  
  1043. EXAMPLE:            CNG_ON_COMMAND            - Host
  1044.                 BOARD_ACK_STATUS        - FAX
  1045.                 PC_ACK                - Host
  1046.                 IDLE                    - FAX
  1047.  
  1048. RELATED FUNCTIONS:     CNG_OFF_COMMAND
  1049.  
  1050.  
  1051. **************************************************************************
  1052. CNG_On_Command
  1053. Characteristic        Description
  1054. COMMAND:             CNG_On_Command
  1055. CODE:                 034H
  1056. CATEGORY:            Utility
  1057. DIRECTION:            Host to JT Fax
  1058. INPUT to JT:            None
  1059. OUTPUT from JT:        BOARD_ACK_STATUS
  1060. DEFAULT:            Not applicable
  1061.  
  1062. DESCRIPTION:        The CNG_ON_COMMAND outputs an ITU-T T.4 specified 
  1063. 1100 Hz tone.
  1064.  
  1065. EXAMPLE:            CNG_ON_COMMAND            - Host
  1066.                 BOARD_ACK_STATUS        - FAX
  1067.                 PC_ACK                - Host
  1068.                 IDLE                    - FAX
  1069.  
  1070. RELATED FUNCTIONS:     CNG_OFF_COMMAND
  1071.  
  1072.  
  1073. **************************************************************************
  1074. DTMF_Detect_Off_Command
  1075. Characteristic        Description
  1076. COMMAND:             DTMF_Detect_Off_Command
  1077. CODE:                 074H
  1078. CATEGORY:            Voice - Configuration
  1079. DIRECTION:            Host to JT Fax
  1080. INPUT to JT:            None
  1081. OUTPUT from JT:        BOARD_ACK_COMMAND
  1082. DEFAULT:            Not applicable
  1083.  
  1084. DESCRIPTION:        The DTMF_DETECT_OFF_COMMAND disables the Fax 
  1085. capability to detect DTMF tones while in the Voice/DTMF mode. 
  1086.  
  1087. EXAMPLE:            IDLE                    - FAX
  1088.                 DTMF_DETECT_OFF_COMMAND    - Host
  1089.                 BOARD_ACK_COMMAND        - FAX
  1090.                 PC_ACK                - Host
  1091.                 IDLE                    - FAX
  1092.  
  1093. RELATED FUNCTIONS:     "Voice and DTMF", 
  1094.                 CNG_DETECT_ON_COMMAND
  1095.  
  1096.  
  1097. **************************************************************************
  1098. DTMF_Detect_On_Command
  1099. Characteristic        Description
  1100. COMMAND:             DTMF_Detect_On_Command
  1101. CODE:                 073H
  1102. CATEGORY:            Voice - Configuration
  1103. DIRECTION:            Host to JT Fax
  1104. INPUT to JT:            None
  1105. OUTPUT from JT:        BOARD_ACK_COMMAND
  1106. DEFAULT:            Not applicable
  1107.  
  1108. DESCRIPTION:        The DTMF_DETECT_ON_COMMAND enables the Fax 
  1109. capability to detect DTMF tones while in the Voice/DTMF mode. 
  1110.  
  1111. EXAMPLE:            IDLE                    - FAX
  1112.                 DTMF_DETECT_ON_COMMAND    - Host
  1113.                 BOARD_ACK_COMMAND        - FAX
  1114.                 PC_ACK                - Host
  1115.                 IDLE                    - FAX
  1116.  
  1117. RELATED FUNCTIONS:     "Voice and DTMF", 
  1118.                 CNG_DETECT_ON_COMMAND
  1119.  
  1120.  
  1121. **************************************************************************
  1122. DTMF_Detect_Status
  1123. Characteristic        Description
  1124. COMMAND:             DTMF_Detect_Status
  1125. CODE:                 070H
  1126. CATEGORY:            Voice , Status
  1127. DIRECTION:            JT Fax to Host
  1128. INPUT to JT:            PC_ACK
  1129. OUTPUT from JT:        DTMF digit in DATA_AREA
  1130. DEFAULT:            Not applicable
  1131.  
  1132. DESCRIPTION:        The DTMF_DETECT_STATUS informs the Host that a 
  1133. DTMF tone was detected while in VOICE/DTMF mode. The DTMF_DETECT_STATUS 
  1134. command is only issued after a DTMF_DETECT_ON_COMMAND.
  1135.  
  1136. EXAMPLE:            DTMF_DETECT_ON_COMMAND    - Host
  1137.                     .
  1138.                     .
  1139.                     .
  1140.                 SILENCE_DETECTED_STATUS    - FAX
  1141.                 PC_ACK                - Host
  1142.                 ...load DTMF byte in DATA_AREA    - FAX
  1143.                 DTMF_DETECT_STATUS        - FAX
  1144.                 ...retrieve DTMF byte        - Host
  1145.                 PC_ACK                - Host
  1146.                 IDLE                     - FAX
  1147.  
  1148. RELATED FUNCTIONS:     "Voice and DTMF", 
  1149.                 DTMF_DETECT_ON_COMMAND, 
  1150.                 DTMF_DETECT_OFF_COMMAND
  1151.  
  1152.  
  1153. **************************************************************************
  1154. DTMF_Dial_Command
  1155. Characteristic    Description
  1156. COMMAND:         DTMF_Dial_Command
  1157. CODE:             02CH
  1158. CATEGORY:        Utility 
  1159. DIRECTION:        Host to JT Fax
  1160. INPUT to JT:        DTMF number at OFFSET 00H in buffer_area
  1161.             Max. number length 60 characters
  1162. OUTPUT from JT:    BOARD_ACK_STATUS
  1163. DEFAULT:        Not applicable
  1164.  
  1165. DESCRIPTION:    DTMF_DIAL_COMMAND dials the digits stored at 
  1166. BUFFER_AREA. The dial command does not connect the phone line. The line 
  1167. must be connected with an OFF_HOOK_COMMAND.
  1168.  
  1169. The dial string has several digits and modifiers. The DTMF digits supported are 
  1170. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *, #, A, B, C, D. The dial modifiers are:
  1171.  
  1172. JT Fax 9600B COMPATIBILITY
  1173. First byte: 'P' - Pulse Dial    'T' - Tone Dial 
  1174. Second byte: 'W' - Wait for Dial Tone     ' ' - Do not Wait 
  1175.  
  1176. If the first two bytes are 'MA' (Manual Dial) a number will not be dialed.
  1177.  
  1178. JT Fax 14400B
  1179. --------------------------
  1180. P    - pulse dial
  1181. T    - tone dial
  1182. W    - wait for dialtone
  1183. ,    - 2 second pause
  1184. !    - flash hook
  1185. I    - no busy detect
  1186.  
  1187. Note: This command may be used in Voice offline mode.
  1188.  
  1189. EXAMPLE:            IDLE                    - FAX
  1190.                 (load string value in 
  1191.                   buffer_area)            - Host
  1192.                 DIAL_DTMF_COMMAND         - Host
  1193.                 BOARD_ACK_STATUS        - FAX
  1194.                 PC_ACK                - Host
  1195.                 IDLE_STATUS            - Fax
  1196.  
  1197. RELATED FUNCTIONS:     XMIT_COMMAND, 
  1198.                 DTMF_ON_TIME_COMMAND, 
  1199.                 DTMF_OFF_TIME_COMMAND
  1200.  
  1201.  
  1202. **************************************************************************
  1203. DTMF_Off_Command
  1204. Characteristic        Description
  1205. COMMAND:             DTMF_Off_Command
  1206. CODE:                 029H
  1207. CATEGORY:            Utility
  1208. DIRECTION:            Host to JT Fax
  1209. INPUT to JT:            None
  1210. OUTPUT from JT:        BOARD_ACK_STATUS
  1211. DEFAULT:            Not applicable
  1212.  
  1213. DESCRIPTION:        DTMF_OFF_COMMAND commands the JT Fax to 
  1214. terminate a DTMF tone. The command does not disconnect the line.
  1215.  
  1216. EXAMPLE:            IDLE                    - FAX
  1217.                 DTMF_OFF_COMMAND         - Host
  1218.                 BOARD_ACK_STATUS        - FAX
  1219.                 PC_ACK                - Host
  1220.                 IDLE_STATUS            - Fax
  1221.  
  1222. RELATED FUNCTIONS:     DTMF_ON_COMMAND, 
  1223.                 FAX_MODE_COMMAND, 
  1224.                 ON_HOOK_COMMAND
  1225.  
  1226.  
  1227. **************************************************************************
  1228. DTMF_Off_Time_Command
  1229. Characteristic        Description
  1230. COMMAND:             DTMF_Off_Time_Command
  1231. CODE:                 02BH
  1232. CATEGORY:            Configuration
  1233. DIRECTION:            Host to JT Fax
  1234. INPUT to JT:            DTMF time at OFFSET 00H in buffer area
  1235. OUTPUT from JT:        BOARD_ACK_STATUS
  1236. DEFAULT:            70 ms
  1237.  
  1238. DESCRIPTION:        DTMF_OFF_TIME_COMMAND configures the interdigit 
  1239. off time for automatic dialing of DTMF digits. The value specified is in 
  1240. milliseconds with a length of WORD. Max. value is 65 seconds. Standard 
  1241. minimum value is 65 ms. 
  1242.  
  1243. EXAMPLE:            IDLE                    - FAX
  1244.                 (load word value in 
  1245.                   buffer_area)            - Host
  1246.                 DTMF_OFF_TIME_COMMAND -    - Host
  1247.                 BOARD_ACK_STATUS        - FAX
  1248.                 PC_ACK                - Host
  1249.                 IDLE_STATUS            - Fax
  1250.  
  1251. RELATED FUNCTIONS:     XMIT_COMMAND, 
  1252.                 DTMF_DIAL_COMMAND, 
  1253.                 DTMF_ON_TIME_COMMAND
  1254.  
  1255.  
  1256. **************************************************************************
  1257. DTMF_On_Command
  1258. Characteristic        Description
  1259. COMMAND:             DTMF_On_Command
  1260. CODE:                 028H
  1261. CATEGORY:            Utility
  1262. DIRECTION:            Host to JT Fax
  1263. INPUT to JT:            DTMF tone digit at OFFSET 00H in buffer area
  1264. OUTPUT from JT:        BOARD_ACK_STATUS
  1265. DEFAULT:            Not applicable
  1266.  
  1267. DESCRIPTION:        DTMF_ON_COMMAND commands the JT Fax to send a 
  1268. DTMF digit specified by the value in BUFFER_AREA. The duration of the tone is 
  1269. controlled by the Host. The command does not connect the phone line. The tone 
  1270. is terminated by the DTMF_OFF_COMAMND.
  1271.  
  1272. Note: JT Fax must be in Fax mode for Utility commands.
  1273.  
  1274. EXAMPLE:            IDLE                    - FAX
  1275.                 (load digit in buffer area)    - Host
  1276.                 DTMF_ON_COMMAND         - Host
  1277.                 BOARD_ACK_STATUS        - FAX
  1278.                 PC_ACK                - Host
  1279.                 IDLE_STATUS            - Fax
  1280.  
  1281. RELATED FUNCTIONS:     DTMF_OFF_COMMAND,
  1282.                 FAX_MODE_COMMAND, 
  1283.                 OFF_HOOK_COMMAND
  1284.  
  1285.  
  1286. **************************************************************************
  1287. DTMF_On_Time_Command
  1288. Characteristic        Description
  1289. COMMAND:             DTMF_On_Time_Command
  1290. CODE:                 029H
  1291. CATEGORY:            Configuration
  1292. DIRECTION:            Host to JT Fax
  1293. INPUT to JT:            DTMF time at OFFSET 00H in buffer area
  1294. OUTPUT from JT:        BOARD_ACK_STATUS
  1295. DEFAULT:            70 ms
  1296.  
  1297. DESCRIPTION:        DTMF_ON_TIME_COMMAND sets the on-time for 
  1298. automatic dialing of DTMF digits. The value specified is in milliseconds with a 
  1299. length of WORD. Max. value is 65 seconds. The standard minimum value is 65 
  1300. ms. 
  1301.  
  1302. EXAMPLE:            IDLE                    - FAX
  1303.                 (load word value in buffer_area)- Host
  1304.                 DTMF_ON_TIME_COMMAND     - Host
  1305.                 BOARD_ACK_STATUS        - FAX
  1306.                 PC_ACK                - Host
  1307.                 IDLE_STATUS            - Fax
  1308.  
  1309. RELATED FUNCTIONS:     XMIT_COMMAND, 
  1310.                 DTMF_DIAL_COMMAND, 
  1311.                 DTMF_OFF_TIME_COMMAND
  1312.  
  1313.  
  1314. **************************************************************************
  1315. Enhanced_Mode_Off_Command
  1316. Characteristic        Description
  1317. COMMAND:             Enhanced_Mode_Off_Command
  1318. CODE:                 053H
  1319. CATEGORY:            Configuration - Compatibility
  1320. DIRECTION:            Host to JT Fax
  1321. INPUT to JT:            None
  1322. OUTPUT from JT:        BOARD_ACK
  1323. DEFAULT:            Not applicable
  1324.  
  1325. DESCRIPTION:        The ENHANCED_MODE_OFF_COMMAND allows the JT 
  1326. Fax 14400B to operate in 9600B compatible mode. All status messages, error 
  1327. codes and speeds provided by the 14400B are disabled.
  1328.  
  1329. EXAMPLE:            IDLE                    - FAX
  1330.                 ENHANCED_MODE_OFF_COMMAND - Host
  1331.                 BOARD_ACK_STATUS        - FAX
  1332.                 PC_ACK                - Host
  1333.                 IDLE                    - FAX
  1334.  
  1335. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND, 
  1336.                 FAX_144_MODE_OFF_COMMAND, 
  1337.                 ENHANCED_MODE_ON_COMMAND
  1338.  
  1339.  
  1340. **************************************************************************
  1341. Enhanced_Mode_On_Command
  1342. Characteristic        Description
  1343. COMMAND:             Enhanced_Mode_On_Command
  1344. CODE:                 052H
  1345. CATEGORY:            Configuration - Compatibility
  1346. DIRECTION:            Host to JT Fax
  1347. INPUT to JT:            None
  1348. OUTPUT from JT:        BOARD_ACK
  1349. DEFAULT:            Not applicable
  1350.  
  1351. DESCRIPTION:        The ENHANCED_MODE_ON_COMMAND allows the JT 
  1352. Fax 14400B to operate in enhanced mode. All status messages, error codes and 
  1353. speeds provided by the 14400B are enabled.
  1354.  
  1355. EXAMPLE:            IDLE                    - FAX
  1356.                 ENHANCED_MODE_ON_COMMAND    - Host
  1357.                 BOARD_ACK_STATUS        - FAX
  1358.                 PC_ACK                - Host
  1359.                 IDLE                    - FAX
  1360.  
  1361. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND, 
  1362.                 FAX_144_MODE_ON_COMMAND, 
  1363.                 ENHANCED_MODE_OFF_COMMAND
  1364.  
  1365.  
  1366. **************************************************************************
  1367. EOD_Flag
  1368. Characteristic        Description
  1369. COMMAND:             EOD_Flag
  1370. CODE:                 076H
  1371. CATEGORY:            Voice 
  1372. DIRECTION:            Host to JT Fax
  1373. INPUT to JT:            None
  1374. OUTPUT from JT:        None
  1375. DEFAULT:            Not applicable
  1376.  
  1377. DESCRIPTION:        The EOD_FLAG terminates the DTMF search. Any 
  1378. other command can be issued after this command sequence is complete.
  1379.  
  1380. EXAMPLE:            IDLE                    - FAX
  1381.                 GET_DTMF_COMMAND        - Host
  1382.                 BOARD_ACK_COMMAND        - FAX
  1383.                 ...byte in data_area            - FAX
  1384.                 DTMF_DETECT_STATUS        - FAX
  1385.                 ...retrieve byte from data_area    - Host
  1386.                 PC_ACK                - Host
  1387.                 ...continue looking  for DTMF    - FAX
  1388.                     .
  1389.                     .
  1390.                     .
  1391.                 EOD_FLAG                - HOST
  1392.                 BOARD_ACK_COMMAND        - FAX
  1393.                 PC_ACK                - Host
  1394.                 IDLE                    - FAX
  1395.  
  1396. RELATED FUNCTIONS:     "Voice and DTMF"
  1397.  
  1398.  
  1399. **************************************************************************
  1400. EOPFLAG
  1401. Characteristic        Description
  1402. COMMAND:             EOPFLAG
  1403. CODE:                 08H
  1404. CATEGORY:            Fax 
  1405. DIRECTION:            JT Fax to Host
  1406. INPUT to JT:            None
  1407. OUTPUT from JT:        None
  1408. DEFAULT:            Not applicable
  1409.  
  1410. DESCRIPTION:    EOPFLAG signifies that an end of page is necessary. The 
  1411. Host may elect to use the LINE_COUNT field in the API block for setting an end 
  1412. of page. The Fax page is transmitted until the line count is reached ( MIN_PAGE 
  1413. = non zero) and an EOP is issued to the called device. If the FAX page was short 
  1414. and a standard page length is used, then the LINECOUNT field sets the page 
  1415. length (MIN_PAGE = 0). All pages are the length of LINECOUNT.
  1416.  
  1417. When using the EOPFLAG a PC_ACK command is not necessary.
  1418.  
  1419. EXAMPLE:            LOAD_DATA_COMMAND        - FAX
  1420.                 ...load data                 - Host
  1421.                 PC_ACK                 - Host
  1422.                 LOAD_DATA_COMMAND        - FAX
  1423.                 ...load data                 - Host
  1424.                 PC_ACK                 - Host
  1425.                      .
  1426.                      .
  1427.                      .
  1428.                 LOAD_DATA_COMMAND        - FAX
  1429.                 ...load data                 - Host
  1430.                 EOPFLAG                - Host
  1431.                 LOAD_DATA_COMMAND        - FAX
  1432.                      .
  1433.                      .
  1434.                      .
  1435.  
  1436. RELATED FUNCTIONS:     LOAD_DATA_COMMAND, 
  1437.                 EOTFLAG
  1438.  
  1439.  
  1440. **************************************************************************
  1441. EOTFLAG
  1442. Characteristic        Description
  1443. COMMAND:             EOTFLAG
  1444. CODE:                 0FH
  1445. CATEGORY:            Fax 
  1446. DIRECTION:            JT Fax to Host
  1447. Host to JT Fax
  1448. INPUT to JT:            None
  1449. OUTPUT from JT:        None
  1450. DEFAULT:            Not applicable
  1451.  
  1452. DESCRIPTION:        EOTFLAG signifies an end of data transfer. The Fax 
  1453. command can be issued from either the Host or JT Fax. The Host issues the 
  1454. command in the XMIT_MODE to end data transmission, or in downloadable fonts 
  1455. to end the font download. The JT Fax issues the command to end a Fax reception.
  1456.  
  1457. EXAMPLE:            IDLE                    - FAX
  1458.                 (load phone number 
  1459.                 in buffer area)             - Host
  1460.                 XMIT_COMMAND             - Host
  1461.                 BOARD_ACK_STATUS        - FAX
  1462.                 ...load header            - Host
  1463.                 PC_ACK                 - Host
  1464.                 LOAD_DATA_COMMAND        - FAX
  1465.                 ...load data and set format        - Host
  1466.                 ...set number bytes            - Host
  1467.                 PC_ACK                 - Host
  1468.                 LOAD_DATA_COMMAND        - FAX
  1469.                 ...load data                 - Host
  1470.                 EOTFLAG                 - Host
  1471.                      .
  1472.                      .
  1473.                      .
  1474.                 IDLE                     - FAX
  1475.  
  1476. RELATED FUNCTIONS:     XMIT_COMMAND, 
  1477.                 LOAD_DATA_COMMAND, 
  1478.                 RECVINIT, 
  1479.                 LOADFONT_COMMAND, 
  1480.                 "Error Codes╙, 
  1481.                 EOV_FLAG
  1482.  
  1483.  
  1484. **************************************************************************
  1485. EOV_FLAG
  1486. Characteristic        Description
  1487. COMMAND:             EOV_FLAG
  1488. CODE:                 066H
  1489. CATEGORY:            Voice
  1490. DIRECTION:            Host to JT Fax
  1491. INPUT to JT:            None
  1492. OUTPUT from JT:        Recorded data in DATA_AREA
  1493.                 LOAD_DATA_COMMAND
  1494. DEFAULT:            Not applicable
  1495.  
  1496. DESCRIPTION:    The EOV_FLAG notifies the Host/Fax that the last buffer of 
  1497. data is in the DATA_AREA. This command is issued after a 
  1498. PLAY_START_COMMAND sequence. The command is used for voice data only. 
  1499.  
  1500. EXAMPLE:            REC_START_COMMAND        - Host
  1501.                 BOARD_ACK_COMMAND        - FAX
  1502.                 ...load data in DATA_AREA        - FAX
  1503.                 ...set number bytes            - FAX
  1504.                 LOAD_DATA_COMMAND        - FAX
  1505.                 ...load data from DATA_AREA    - Host
  1506.                 PC_ACK                - Host
  1507.                 ...load data in DATA_AREA        - FAX
  1508.                 ...set number bytes            - FAX
  1509.                 LOAD_DATA_COMMAND        - FAX
  1510.                 ...load data from DATA_AREA    - Host
  1511.                 REC_STOP_COMMAND        - Host
  1512.                 ...load data in DATA_AREA        - FAX
  1513.                 ...set number bytes            - FAX
  1514.                 EOV_FLAG                 - FAX
  1515.                 ...load data from  DATA_AREA    - Host
  1516.                 PC_ACK                - Host
  1517.                 IDLE                     - FAX
  1518.  
  1519. RELATED FUNCTIONS:     "Voice and DTMF", 
  1520.                 REC_START_COMMAND, 
  1521.                 RECVINIT_COMMAND
  1522.  
  1523.  
  1524. **************************************************************************
  1525. Error
  1526. Characteristic        Description
  1527. COMMAND:             Error
  1528. CODE:                 06H
  1529. CATEGORY:            Status
  1530. DIRECTION:            JT Fax to Host
  1531. INPUT to JT:            IDLE
  1532. OUTPUT from JT:        RET_CODE contains error code
  1533. DEFAULT:            Not applicable
  1534.  
  1535. DESCRIPTION:        ERROR signifies that an error has occurred. The 
  1536. type of error can be retrieved from the RET_CODE field. ERROR does require the 
  1537. host to reset the COMMAND_DATA field to IDLE when the error code is read.
  1538.  
  1539. EXAMPLE:        IDLE                        - FAX
  1540.             (load phone number in buffer area)    - Host
  1541.             XMIT_COMMAND                 - Host
  1542.             BOARD_ACK_STATUS            - FAX
  1543.             ...load header                - Host
  1544.             PC_ACK                     - Host
  1545.             LOAD_DATA_COMMAND            - FAX
  1546.             ...load data and set format            - Host
  1547.             ...set number bytes                - Host
  1548.             PC_ACK                     - Host
  1549.             LOAD_DATA_COMMAND            - FAX
  1550.             ...load data                     - Host
  1551.             PC_ACK                    - Host
  1552.                 .
  1553.                 .
  1554.                 .
  1555.             ERROR                     - JT Fax
  1556.             BUSY(ret_code field)            - JT Fax
  1557.             (check ret_code)                - Host
  1558.             IDLE                         - Host
  1559.  
  1560. RELATED FUNCTIONS:     XMIT_COMMAND, 
  1561.                 LOAD_DATA_COMMAND, 
  1562.                 RECVINIT,
  1563.                 Error Codes
  1564.  
  1565.  
  1566. **************************************************************************
  1567. Extend_Status_Off_Command
  1568. Characteristic    Description
  1569. COMMAND:         Extend_Status_Off_Command
  1570. CODE:             04FH
  1571. CATEGORY:        Configuration - Compatibility
  1572. DIRECTION:        Host to JT Fax
  1573. INPUT to JT:        None
  1574. OUTPUT from JT:    BOARD_ACK
  1575. DEFAULT:        Not applicable
  1576.  
  1577. DESCRIPTION:    The EXTEND_STATUS_OFF_COMMAND disables the extended 
  1578. status available to the Host with the JT Fax 14400B. The status codes do not 
  1579. appear in the STATUS field of the API block and the status command is not 
  1580. issued.
  1581.  
  1582. EXAMPLE:        IDLE                        - FAX
  1583.             EXTEND_STATUS_OFF_COMMAND        - Host
  1584.             BOARD_ACK_STATUS            - FAX
  1585.             PC_ACK                    - Host
  1586.             IDLE                        - FAX
  1587.  
  1588. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND,
  1589.                 STATUS_COMMAND
  1590.  
  1591.  
  1592. **************************************************************************
  1593. Extend_Status_On_Command
  1594. Characteristic    Description
  1595. COMMAND:         Extend_Status_On_Command
  1596. CODE:             04EH
  1597. CATEGORY:        Configuration - Compatibility
  1598. DIRECTION:        Host to JT Fax
  1599. INPUT to JT:        None
  1600. OUTPUT from JT:    BOARD_ACK
  1601. DEFAULT:        Not applicable
  1602.  
  1603. DESCRIPTION:    The EXTEND_STATUS_ON command enables the 
  1604. extended status available to the Host with the JT Fax 14400B. The status codes 
  1605. appear in the STATUS field of the API block after the status command is issued.
  1606.  
  1607. EXAMPLE:        IDLE                        - FAX
  1608.             EXTEND_STATUS_ON_COMMAND        - Host
  1609.             BOARD_ACK_STATUS            - FAX
  1610.             PC_ACK                    - Host
  1611.             IDLE                        - FAX
  1612.  
  1613. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND,
  1614.                 STATUS_COMMAND
  1615.  
  1616.  
  1617. **************************************************************************
  1618. FAX_144_Mode_Off_Command
  1619. Characteristic    Description
  1620. COMMAND:         FAX_144_Mode_Off_Command
  1621. CODE:             051H
  1622. CATEGORY:        Configuration - Compatibility
  1623. DIRECTION:        Host to JT Fax
  1624. INPUT to JT:        None
  1625. OUTPUT from JT:    BOARD_ACK
  1626. DEFAULT:        Not applicable
  1627.  
  1628. DESCRIPTION:    The FAX_144_MODE_OFF_COMMAND allows the JT Fax 14400B 
  1629. to be compatible with the JT Fax 9600B. This command is included due to the 
  1630. change in the speed indexes for 14,400 bps.
  1631.  
  1632. EXAMPLE:        IDLE                        - FAX
  1633.             FAX_144_MODE_OFF_COMMAND        - Host
  1634.             BOARD_ACK_STATUS            - FAX
  1635.             PC_ACK                    - Host
  1636.             IDLE                        - FAX
  1637.  
  1638. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND,
  1639.                 FAX_144_MODE_ON_COMMAND, 
  1640.                 ENHANCED_MODE_OFF_COMMAND
  1641.  
  1642.  
  1643. **************************************************************************
  1644. FAX_144_Mode_On_Command
  1645. Characteristic    Description
  1646. COMMAND:         FAX_144_Mode_On_Command
  1647. CODE:             050H
  1648. CATEGORY:        Configuration - Compatibility
  1649. DIRECTION:        Host to JT Fax
  1650. INPUT to JT:        None
  1651. OUTPUT from JT:    BOARD_ACK
  1652. DEFAULT:        Not applicable
  1653.  
  1654. DESCRIPTION:    The FAX_144_MODE_ON_COMMAND allows the JT Fax 14400B 
  1655. to enable reception of Faxes at the 14,400 bps rate. This command is included 
  1656. due to the change in the speed indexes for 14,400 bps. An index value of 5 in 
  1657. the BAUD_RATE field indicates 14,400 bps and a 4 indicates 12,000 bps. This 
  1658. command only affects the speed.
  1659.  
  1660. EXAMPLE:        IDLE                        - FAX
  1661.             FAX_144_MODE_ON_COMMAND        - Host
  1662.             BOARD_ACK_STATUS            - FAX
  1663.             PC_ACK                    - Host
  1664.             IDLE                        - FAX
  1665.  
  1666. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND,
  1667.                 FAX_144_MODE_OFF_COMMAND, 
  1668.                 ENHANCED_MODE_ON_COMMAND
  1669.  
  1670.  
  1671. **************************************************************************
  1672. FAX_Mode_Command
  1673. Characteristic    Description
  1674. COMMAND:         FAX_Mode_Command
  1675. CODE:             026H
  1676. CATEGORY:        Configuration
  1677. DIRECTION:        Host to JT Fax
  1678. INPUT to JT:        None
  1679. OUTPUT from JT:    BOARD_ACK_STATUS
  1680. DEFAULT:        MODEM MODE in Command State
  1681.             FAX MODE is automatic with Fax commands
  1682.  
  1683. DESCRIPTION:    The FAX_MODE_COMMAND is required for all Utility 
  1684. commands. The command also allows JT Fax to control the Telco line interface 
  1685. instead of requiring OEM daughter cards. PC Bus access is available in both Fax 
  1686. and Modem mode. If a daughter card is not attached, Modem mode will not be 
  1687. necessary for JT Fax.
  1688.  
  1689. EXAMPLE:            IDLE                    - FAX
  1690.                 FAX_MODE_COMMAND         - Host
  1691.                 BOARD_ACK_STATUS        - FAX
  1692.                 PC_ACK                - Host
  1693.                 IDLE                     - FAX
  1694.                 OFF_HOOK_COMMAND        - Host
  1695.  
  1696. RELATED FUNCTIONS:     MODEM_MODE_COMMAND, 
  1697.                 "Utility Commands"
  1698.  
  1699.  
  1700. **************************************************************************
  1701. Gain_Down_Command
  1702. Characteristic    Description
  1703. COMMAND:         Gain_Down_Command
  1704. CODE:             068H
  1705. CATEGORY:        Voice - Configuration
  1706. DIRECTION:        Host to JT Fax
  1707. INPUT to JT:        None
  1708. OUTPUT from JT:    BOARD_ACK_COMMAND
  1709. DEFAULT:        43.8 dB
  1710.  
  1711. DESCRIPTION:    The GAIN_DOWN_COMMAND decrements the maximum gain 
  1712. of the voice record by 1 dB. The maximum gain should only be changed during 
  1713. recording to achieve a better quality of voice recording. The value is retained 
  1714. between recordings.
  1715.  
  1716. EXAMPLE:        IDLE                        - FAX
  1717.             GAIN_DOWN_COMMAND            - Host
  1718.             BOARD_ACK_COMMAND            - FAX
  1719.             PC_ACK                    - Host
  1720.             IDLE                        - FAX
  1721.             REC_START_COMMAND            - Host
  1722.             BOARD_ACK_COMMAND            - FAX
  1723.             ...load data in DATA_AREA            - FAX
  1724.             ...set number bytes                - FAX
  1725.             LOAD_DATA_COMMAND            - FAX
  1726.                 .
  1727.                 .
  1728.                 .
  1729.             EOV_FLAG                     - FAX
  1730.             ...load data from DATA_AREA        - Host
  1731.             PC_ACK                    - Host
  1732.             IDLE                        - FAX
  1733.  
  1734. RELATED FUNCTIONS:     "Voice and DTMF", 
  1735.                 REC_START_COMMAND
  1736.  
  1737.  
  1738. **************************************************************************
  1739. Gain_Up_Command
  1740. Characteristic    Description
  1741. COMMAND:         Gain_Up_Command
  1742. CODE:             067H
  1743. CATEGORY:        Voice - Configuration
  1744. DIRECTION:        Host to JT Fax
  1745. INPUT to JT:        None
  1746. OUTPUT from JT:    BOARD_ACK_COMMAND
  1747. DEFAULT:        43.8 dB
  1748.  
  1749. DESCRIPTION:    The GAIN_UP_COMMAND increments the maximum gain of 
  1750. the voice record by 1 dB. The maximum gain should only be changed during 
  1751. recording to achieve a better quality of voice recording. The value is retained 
  1752. between recordings.
  1753.  
  1754. EXAMPLE:        IDLE                        - FAX
  1755.             GAIN_UP_COMMAND            - Host
  1756.             BOARD_ACK_COMMAND            - FAX
  1757.             PC_ACK                    - Host
  1758.             IDLE                        - FAX
  1759.             REC_START_COMMAND            - Host
  1760.             BOARD_ACK_COMMAND            - FAX
  1761.             ...load data in DATA_AREA            - FAX
  1762.             ...set number bytes                - FAX
  1763.             LOAD_DATA_COMMAND            - FAX
  1764.                 .
  1765.                 .
  1766.                 .
  1767.             EOV_FLAG                     - FAX
  1768.             ...load data from DATA_AREA        - Host
  1769.             PC_ACK                    - Host
  1770.             IDLE                         - FAX
  1771.  
  1772. RELATED FUNCTIONS:     "Voice and DTMF", 
  1773.                 REC_START_COMMAND
  1774.  
  1775.  
  1776. **************************************************************************
  1777. Get_DTMF_Command
  1778. Characteristic    Description
  1779. COMMAND:         Get_DTMF_Command
  1780. CODE:             075H
  1781. CATEGORY:        Voice 
  1782. DIRECTION:        Host to JT Fax
  1783. INPUT to JT:        None
  1784. OUTPUT from JT:    Byte value in DATA_AREA
  1785. DEFAULT:        Not applicable
  1786. DESCRIPTION:    The GET_DTMF_COMMAND can also be used in command 
  1787. state. The command initiates DTMF mode and continually searches for DTMF 
  1788. tones. The EOD_FLAG terminates the DTMF search. Any other command can be 
  1789. issued after this command. The "on/off hook" is controlled by the Host. 
  1790.  
  1791. EXAMPLE:        IDLE                        - FAX
  1792.             GET_DTMF_COMMAND            - Host
  1793.             BOARD_ACK_STATUS            - FAX
  1794.             ...byte in data_area                - FAX
  1795.             DTMF_DETECT_STATUS            - FAX
  1796.             ...retrieve byte from data_area        - Host
  1797.             PC_ACK                    - Host
  1798.             ...continue looking for DTMF        - FAX
  1799.                 .
  1800.                 .
  1801.                 .
  1802.             EOD_FLAG                    - HOST
  1803.             BOARD_ACK_COMMAND            - FAX
  1804.             PC_ACK                    - Host
  1805.             IDLE                        - FAX
  1806.  
  1807. RELATED FUNCTIONS:     "Voice and DTMF", 
  1808.                 EOD_FLAG
  1809.  
  1810.  
  1811. **************************************************************************
  1812. Good_Init
  1813. Characteristic    Description
  1814. COMMAND:         Good_Init
  1815. CODE:             0F0H
  1816. CATEGORY:        FAX - Compatibility 
  1817. DIRECTION:        JT Fax to Host
  1818. INPUT to JT:        None
  1819. OUTPUT from JT:    None
  1820. DEFAULT:        Not applicable
  1821.  
  1822. DESCRIPTION:    The GOOD_INIT command is issued after a 
  1823. BOARD_SYNC_COMMAND is received following power up. It indicates that the 
  1824. FAX is ready for commands and the ROM/RAM test was good.
  1825.  
  1826. EXAMPLE:        BOARD_SYNC_COMMAND            - Host
  1827.             GOOD_INIT                    - FAX
  1828.             PC_ACK                    - Host
  1829.             IDLE                        - FAX
  1830.  
  1831. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  1832.                 HARDWARE_RESET_COMMAND
  1833.  
  1834.  
  1835. **************************************************************************
  1836. Hardware_Reset_Command
  1837. Characteristic    Description
  1838. COMMAND:         Hardware_Reset_Command
  1839. CODE:             030H
  1840. CATEGORY:        Control
  1841. DIRECTION:        Host to JT Fax
  1842. INPUT to JT:        None
  1843. OUTPUT from JT:    None
  1844. DEFAULT:        Not applicable
  1845.  
  1846. DESCRIPTION:    The HARDWARE_RESET_COMMAND instructs JT Fax to 
  1847. initiate a "power on reset" function. The command is placed in the API block 
  1848. location, RESET_BOARD, at offset 51H. When RESET_BOARD is set to a 
  1849. HARDWARE_RESET_COMMAND, then the following happens:
  1850.  
  1851.     Ñ    RAM and ROM test is executed
  1852.     Ñ    data pump is reset, memory cleared 
  1853.     Ñ    all options set to default conditions. 
  1854.  
  1855. After six seconds, JT Fax starts waiting for a SYNC_COMMAND from the Host. A 
  1856. SYNC_COMMAND must be issued by the Host before any commands can be 
  1857. accepted. 
  1858.  
  1859. Note: This command should be used a last resort because it resets the JT Fax 
  1860. hardware and all user configurations to default.
  1861.  
  1862. EXAMPLE:        IDLE                        - FAX
  1863.             HARDWARE_RESET_COMMAND        - Host
  1864.             (wait for 6 seconds)
  1865.             SYNC_COMMAND                - Host
  1866.             IDLE_STATUS                - FAX
  1867.  
  1868. RELATED FUNCTIONS:     SYNC_COMMAND, 
  1869.                 SOFTWARE_RESET_COMMAND
  1870.  
  1871.  
  1872. **************************************************************************
  1873. Idle_Status
  1874. Characteristic    Description
  1875. COMMAND:         Idle_Status
  1876. CODE:             01H
  1877. CATEGORY:        Status
  1878. DIRECTION:        JT Fax to Host
  1879.             Host to JT Fax
  1880. INPUT to JT:        None
  1881. OUTPUT from JT:    None
  1882. DEFAULT:        Not applicable
  1883.  
  1884. DESCRIPTION:    IDLE_STATUS is a compatibility status code/command. The 
  1885. command is issued to reset the Command field. The command is used by the Host 
  1886. in response to a BOARD_ACK_STATUS, or by JT Fax in response to a PC_ACK 
  1887. command or when in command state waiting for command. This command 
  1888. should only be used while in command state.
  1889.  
  1890. EXAMPLE:        IDLE                        - FAX
  1891.             (load time in buffer area            - Host
  1892.             SET_CARRIER_COMMAND             - Host
  1893.             BOARD_ACK_STATUS            - FAX
  1894.             PC_ACK                    - Host
  1895.             IDLE                        - Host
  1896.  
  1897. RELATED FUNCTIONS:     BOARD_ACK_STATUS, 
  1898.                 PC_ACK
  1899.  
  1900.  
  1901. **************************************************************************
  1902. Load_Data_Command
  1903. Characteristic    Description
  1904. COMMAND:         Load_Data_Command
  1905. CODE:             03H
  1906. CATEGORY:        FAX 
  1907. DIRECTION:        JT Fax to Host
  1908. INPUT to JT:        Data in DATA_AREA
  1909.             PC_ACK
  1910.             EOTFLAG 
  1911.             EOPFLAG
  1912. OUTPUT from JT:    none 
  1913.             LOAD_DATA_COMMAND
  1914.             EOTFLAG (receive mode only)
  1915. DEFAULT:        Not applicable
  1916.  
  1917. DESCRIPTION:    The LOAD_DATA_COMMAND is used when large amounts of 
  1918. data are needed. The direction of the load depends on the mode selected. 
  1919.  
  1920. If in TRANSMIT_MODE, the load data command is issued by JT Fax to indicate 
  1921. that data is ready to be received from the Host in the DATA_AREA. Once all the 
  1922. data has been placed in the DATA_AREA, the Host issues a PC_ACK. 
  1923.  
  1924. In the RECEIVE_MODE, the command is issued by JT Fax to alert the Host that 
  1925. data is available in the data area to be retrieved. After the Host retrieves the 
  1926. data, the host issues a PC_ACK.
  1927.  
  1928. EXAMPLE:        RECEIVE_MODE only
  1929.             RECVINIT                    - JT Fax
  1930.             (Host load ID in Buffer Area)
  1931.             PC_ACK                    - Host
  1932.             LOAD_DATA_COMMAND            - JT Fax
  1933.             (Host retrieves data)
  1934.             PC_ACK                    - Host
  1935.                 .
  1936.                 .
  1937.                 .
  1938.             EOT                        - JT Fax
  1939.  
  1940. RELATED FUNCTIONS:     EOT_FLAG, 
  1941.                 RECVINIT, 
  1942.                 PC_ACK
  1943.  
  1944.  
  1945. **************************************************************************
  1946. Load_Font_Command
  1947. Characteristic    Description
  1948. COMMAND:         Load_Font_Command
  1949. CODE:             04H
  1950. CATEGORY:        FAX 
  1951. DIRECTION:        Host to JT Fax
  1952. INPUT to JT:        Font Data in DATA_AREA
  1953.             EOTFLAG
  1954. OUTPUT from JT:    BOARD_ACK
  1955.             FONT_TOO_LARGE
  1956. DEFAULT:        Not applicable
  1957.  
  1958. DESCRIPTION:    The LOAD_FONT_COMMAND is used to load the predefined JT 
  1959. Fax fonts or a user designed font (see Chapter 7). The font would be used only 
  1960. in transmit mode and file type ASCII_TYPE. Since the font data is larger than 
  1961. the DATA area several LOAD_DATA_COMMANDS would be issued by JT Fax.
  1962.  
  1963. Issuing a HARD_RESET_COMMAND destroys a soft font, requiring a reload. 
  1964. Issuing a SOFT_RESET_COMMAND does not destroy a soft font.
  1965.  
  1966. EXAMPLE:        LOAD_FONT_COMMAND            - Host
  1967.             LOAD_DATA_COMMAND            - JT Fax
  1968.             ...load data in data_area            - Host
  1969.             PC_ACK                    - Host
  1970.             LOAD_DATA_COMMAND            - JT Fax
  1971.                 .
  1972.                 .
  1973.                 .
  1974.             EOT                        - Host
  1975.  
  1976. RELATED FUNCTIONS:     PC_ACK, EOT, 
  1977.                 LOAD_DATA_COMMAND, 
  1978.                 "JT Fax Fonts"
  1979.  
  1980.  
  1981. **************************************************************************
  1982. Manual_REC_Command
  1983. Characteristic    Description
  1984. COMMAND:         MANUAL_REC_COMMAND
  1985. CODE:             10H
  1986. CATEGORY:        Fax
  1987. DIRECTION:        Host to JT Fax 
  1988. INPUT to JT:        None
  1989. OUTPUT from JT:    BOARD_ACK
  1990. DEFAULT:        Not applicable
  1991.  
  1992. DESCRIPTION:    Manual receive enables the Host to force JT Fax to answer a 
  1993. call. The EXTEND_STATUS mode must be enabled before the STATUS command is 
  1994. received. A RING status appears in the STATUS_CODE field. After the status is 
  1995. retrieved, the Host returns the COMMAND field to IDLE.
  1996.  
  1997. EXAMPLE:        IDLE                        - FAX
  1998.             STATUS_COMMAND                - FAX
  1999.             ...retrieve status code ╥RING╙        - Host
  2000.             MANUAL_REC_COMMAND            - Host
  2001.             BOARD_ACK_STATUS            - FAX
  2002.             PC_ACK                    - Host
  2003.             LOAD_DATA_COMMAND            - FAX
  2004.             ...load data                     - Host
  2005.             PC_ACK                     - Host
  2006.             LOAD_DATA_COMMAND            - FAX
  2007.             ...load data                     - Host
  2008.             PC_ACK                     - Host
  2009.                  .
  2010.                  .
  2011.                  .
  2012.  
  2013. RELATED FUNCTIONS:     "Status Codes", 
  2014.                 STATUS_COMMAND
  2015.  
  2016.  
  2017. **************************************************************************
  2018. Modem_Mode_Command
  2019. Characteristic    Description
  2020. COMMAND:         Modem_Mode_Command
  2021. CODE:             027H
  2022. CATEGORY:        Configuration
  2023. DIRECTION:        Host to JT Fax
  2024. INPUT to JT:        None
  2025. OUTPUT from JT:    BOARD_ACK_STATUS
  2026. DEFAULT:        MODEM MODE in Command State
  2027.             FAX MODE is automatic with FAX commands
  2028.  
  2029. DESCRIPTION:        The MODEM_MODE_COMMAND is required to remove 
  2030. the previous FAX_MODE_COMMAND. The command also allows the OEM daughter 
  2031. Card to control the Telco line interface instead of JT Fax. PC Bus access is 
  2032. available in both Fax mode and Modem mode. If a Daughter card is not attached, 
  2033. Modem mode will not be necessary for JT Fax.
  2034.  
  2035. EXAMPLE:        IDLE                        - FAX
  2036.             FAX_MODE_COMMAND             - Host
  2037.             BOARD_ACK_STATUS            - FAX
  2038.             PC_ACK                    - Host
  2039.             IDLE                         - FAX
  2040.             OFF_HOOK_COMMAND            - Host
  2041.             BOARD_ACK_STATUS            - FAX
  2042.             PC_ACK                    - Host
  2043.             IDLE                         - FAX
  2044.             MODEM_MODE_COMMAND            - Host
  2045.             BOARD_ACK_STATUS            - FAX
  2046.             PC_ACK                    - Host
  2047.             IDLE                         - FAX
  2048.  
  2049. RELATED FUNCTIONS:     FAX_MODE_COMMAND
  2050.  
  2051.  
  2052. **************************************************************************
  2053. No_Busy_Command
  2054. Characteristic    Description
  2055. COMMAND:         No_Busy_Command
  2056. CODE:             02EH
  2057. CATEGORY:        Configuration 
  2058. DIRECTION:        Host to JT Fax
  2059. INPUT to JT:        None
  2060. OUTPUT from JT:    BOARD_ACK_STATUS
  2061. DEFAULT:        Detect Busy
  2062.  
  2063. DESCRIPTION:    The NO_BUSY_COMMAND instructs the JT Fax to ignore the 
  2064. busy signal.
  2065.  
  2066. EXAMPLE:        IDLE                        - FAX
  2067.             NO_BUSY_COMMAND             - Host
  2068.             BOARD_ACK_STATUS            - FAX
  2069.             PC_ACK                    - Host
  2070.             IDLE_STATUS                - Fax
  2071.  
  2072. RELATED FUNCTIONS:     XMIT_COMMAND, 
  2073.                 PULSE_DIAL_COMMAND, 
  2074.                 DTMF_DIAL_COMMAND
  2075.  
  2076.  
  2077. **************************************************************************
  2078. OEM_Code_Command
  2079. Characteristic    Description
  2080. COMMAND:         OEM_Code_Command
  2081. CODE:             079H
  2082. CATEGORY:        Utility 
  2083. DIRECTION:        Host to JT Fax
  2084. INPUT to JT:        None
  2085. OUTPUT from JT:    None
  2086. DEFAULT:        Not applicable
  2087.  
  2088. DESCRIPTION:    The OEM_CODE_COMMAND executes Host code that was 
  2089. downloaded to the Fax. The Fax utilizes a 16 MHz processor. The 
  2090. OEM_CODE_COMMAND executes custom assembly language code for the Host. The 
  2091. OEM code and data can be no larger than 28 KB. The OEM code has access to the 
  2092. command byte structure at 0:8000H. The code segment must be "0" and the code 
  2093. or data must start at 0:8800H. Additional 3K of RAM is available at 0:67D0H. (See 
  2094. Appendix F).
  2095.  
  2096. EXAMPLE:        IDLE                        - FAX
  2097.             OEM_CODE_COMMAND            - Host
  2098.             ...OEM code executes            - FAX
  2099.             ...OEM code terminates            - FAX
  2100.             BOARD_ACK_COMMAND            - FAX
  2101.             PC_ACK                    - Host
  2102.             IDLE                        - FAX
  2103.  
  2104. RELATED FUNCTIONS:     "OEM CODE ", 
  2105.                 OEM_LOAD_COMMAND
  2106.  
  2107.  
  2108. **************************************************************************
  2109. OEM_Load_Command
  2110. Characteristic    Description
  2111. COMMAND:         OEM_Load_Command
  2112. CODE:             07AH
  2113. CATEGORY:        Utility 
  2114. DIRECTION:        Host to JT Fax
  2115. INPUT to JT:        OEM code in DATA_AREA
  2116. OUTPUT from JT:    LOAD_DATA_COMMAND
  2117.             BOARD_ACK_COMMAND
  2118. DEFAULT:        Not applicable
  2119.  
  2120. DESCRIPTION:    The OEM_LOAD_COMMAND loads the OEM code into the Soft 
  2121. Font RAM. The OEM code and data can be no larger than 28 KB. The 
  2122. OEM_LOAD_COMMAND sequence is similar to the LOADFONT_COMMAND 
  2123. sequence. If the OEM code is larger than the space available, a 
  2124. FONT_TOO_LARGE error is returned. The load aborts when the error is reported. 
  2125. The OEM code remains in RAM until power up or a 
  2126. HARDWARE_RESET_COMMAND or LOAD_FONT_COMMAND is issued.
  2127.  
  2128. Note Soft fonts are not available when using this command.
  2129.  
  2130. EXAMPLE:        IDLE                        - FAX
  2131.             OEM_LOAD_COMMAND            - Host
  2132.             LOAD_DATA_COMMAND            - JT Fax
  2133.             ...Load OEM code into Data_area        - Host
  2134.             PC_ACK                    - Host
  2135.             LOAD_DATA_COMMAND            - JT Fax
  2136.                 .
  2137.                 .
  2138.                 .
  2139.             EOT                        - Host
  2140.             BOARD_ACK_COMMAND            - FAX
  2141.             PC_ACK                    - Host
  2142.             IDLE                        - FAX
  2143.  
  2144. RELATED FUNCTIONS:     "OEM CODE ", 
  2145.                 OEM_CODE_COMMAND, 
  2146.                 LOAD_FONT_COMMAND
  2147.  
  2148.  
  2149.  
  2150. **************************************************************************
  2151. Off_Hook_Command
  2152. Characteristic    Description
  2153. COMMAND:         Off_Hook_Command
  2154. CODE:             025H
  2155. CATEGORY:        Utility
  2156. DIRECTION:        Host to JT Fax
  2157. INPUT to JT:        None
  2158. OUTPUT from JT:    BOARD_ACK_COMMAND
  2159. DEFAULT:        Not applicable
  2160.  
  2161. DESCRIPTION:    The OFF_HOOK_COMMAND forces the JT Fax to go "Off-Hook" 
  2162. (i.e., pickup the phone). The command is used when the Host wants to initiate a 
  2163. dialing sequence (DTMF or Pulse). The OFF_HOOK_COMMAND returns to 
  2164. Command state after completion.
  2165.  
  2166. Note: JT Fax must be in FAX_MODE to use Utility commands.
  2167.  
  2168. EXAMPLE:        IDLE                        - FAX
  2169.             OFF_HOOK_COMMAND            - Host
  2170.             BOARD_ACK_STATUS            - FAX
  2171.             PC_ACK                    - Host
  2172.             IDLE                         - FAX
  2173.  
  2174. RELATED FUNCTIONS:     FAX_MODE_COMMAND, 
  2175.                 ON_HOOK_COMMAND
  2176.  
  2177.  
  2178. **************************************************************************
  2179. On_Hook_Command
  2180. Characteristic    Description
  2181. COMMAND:         On_Hook_Command
  2182. CODE:             024H
  2183. CATEGORY:        Utility
  2184. DIRECTION:        Host to JT Fax
  2185. INPUT to JT:        None
  2186. OUTPUT from JT:    BOARD_ACK_COMMAND
  2187. DEFAULT:        Not applicable
  2188.  
  2189. DESCRIPTION:        The ON_HOOK_COMMAND forces the JT Fax to go "on-
  2190. hook". The command is used after "OFF_HOOK_COMMAND" has been issued when 
  2191. the Host requires a return to "on-hook" condition (i.e., hang-up). The 
  2192. ON_HOOK_COMMAND returns to Command state after completion.
  2193.  
  2194. Note: JT Fax must be in FAX_MODE to use Utility commands.
  2195.  
  2196. EXAMPLE:            IDLE                    - FAX
  2197.                 ON_HOOK_COMMAND        - Host
  2198.                 BOARD_ACK_STATUS        - FAX
  2199.                 PC_ACK                - Host
  2200.                 IDLE                     - FAX
  2201.  
  2202. RELATED FUNCTIONS:     FAX_MODE_COMMAND, 
  2203.                 OFF_HOOK_COMMAND
  2204.  
  2205.  
  2206. **************************************************************************
  2207. Online_Voice_Record_Off
  2208. Characteristic    Description
  2209. COMMAND:         Online_Voice_Record_Off
  2210. CODE:             78H
  2211. CATEGORY:        Voice - Configuration 
  2212. DIRECTION:        Host to JT Fax
  2213. INPUT to JT:        None
  2214. OUTPUT from JT:    None
  2215. DEFAULT:        Off
  2216.  
  2217. DESCRIPTION:    This API command turns the online voice record option 
  2218. off. This command can be issued after the voice message has been received to 
  2219. prevent premature termination of tone or voice greeting messages.
  2220.  
  2221. EXAMPLE:        IDLE                        - Host
  2222.                 .
  2223.                 .
  2224.                 .
  2225.             ONLINE_VOICE_RECORD_ON        - Host
  2226.             BOARD_ACK                    - FAX
  2227.             PC_ACK                    - Host
  2228.             IDLE                         - FAX
  2229.             REC_START_COMMAND            - Host
  2230.                 .
  2231.                 .
  2232.                 .
  2233.             EOVFLAG                    - FAX
  2234.             ...Load data from Data Area        - Host
  2235.             PC_ACK                    - Host
  2236.             IDLE                         - FAX
  2237.             ONLINE_VOICE_RECORD_OFF        - Host
  2238.             BOARD_ACK                    - FAX
  2239.  
  2240. RELATED FUNCTIONS:     ONLINE_VOICE_RECORD_ON, 
  2241.                 EOVFLAG, 
  2242.                 RECORD_START_COMMAND
  2243.  
  2244.  
  2245. **************************************************************************
  2246. Online_Voice_Record_On
  2247. Characteristic    Description
  2248. COMMAND:         Online_Voice_Record_On
  2249. CODE:             77H
  2250. CATEGORY:        Voice - Configuration 
  2251. DIRECTION:        Host to JT Fax
  2252. INPUT to JT:        None
  2253. OUTPUT from JT:    None
  2254. DEFAULT:        Off
  2255.  
  2256. DESCRIPTION:    This API provides the option to record voice messages 
  2257. while online. The message is terminated after the caller disconnects and dial 
  2258. tone is detected. Since tones in the range of 350-620 Hz cause termination, it is 
  2259. necessary to disable this option during all other recordings.
  2260.  
  2261. EXAMPLE:        IDLE                        - Host
  2262.                 .
  2263.                 .
  2264.                 .
  2265.             SILENCE_DETECTED_STATUS        - FAX
  2266.                 .
  2267.                 .
  2268.                 .
  2269.             ONLINE_VOICE_RECORD_ON        - Host
  2270.             BOARD_ACK                    - FAX
  2271.             PC_ACK                    - Host
  2272.             REC_START_COMMAND            - Host
  2273.                 .
  2274.                 .
  2275.                 .
  2276.             EOVFLAG                    - FAX
  2277.             ...Load data from Data Area        - Host
  2278.             PC_ACK                    - Host
  2279.             IDLE                         - FAX
  2280.  
  2281. RELATED FUNCTIONS:     ONLINE_VOICE_RECORD_OFF, 
  2282.                 EOVFLAG, 
  2283.                 RECORD_START_COMMAND
  2284.  
  2285.  
  2286. **************************************************************************
  2287. PC_ACK
  2288. Characteristic    Description
  2289. COMMAND:         PC_ACK
  2290. CODE:             05H
  2291. CATEGORY:        STATUS handshake
  2292. DIRECTION:        Host to JT Fax
  2293. INPUT to JT:        None
  2294. OUTPUT from JT:    None, Idle
  2295. DEFAULT:        Not applicable
  2296.  
  2297. DESCRIPTION:    The PC_ACK command is used as acknowledgment between 
  2298. the PC software and the JT Fax 14400B. The response is appropriate when 
  2299. receiving a command from the JT Fax 14400 B Dual board. A PC_ACK does not 
  2300. require a response from the JT Fax 14400B Dual board.
  2301.  
  2302. EXAMPLE:            .
  2303.                 .
  2304.                 .
  2305.             GET_DTMF_COMMAND            - Host
  2306.             BOARD_ACK_STATUS            - JT Fax
  2307.             DTMF_DETECT_STATUS            - JT Fax
  2308.                 (retrieve DTMF code)
  2309.             PC_ACK                    - Host
  2310.     .
  2311.     .
  2312.     .
  2313.  
  2314. RELATED FUNCTIONS:     LOAD_DATA_COMMAND, 
  2315.                 RECVINIT, 
  2316.                 LOAD_FONT_COMMAND, 
  2317.                 BOARD_ACK_STATUS
  2318.  
  2319.  
  2320. **************************************************************************
  2321. Play_End_Command
  2322. Characteristic    Description
  2323. COMMAND:         Play_End_Command
  2324. CODE:             063H
  2325. CATEGORY:        Voice
  2326. DIRECTION:        Host to JT Fax
  2327. INPUT to JT:        None
  2328. OUTPUT from JT:    BOARD_ACK_STATUS
  2329. DEFAULT:        Not applicable
  2330.  
  2331. DESCRIPTION:    The PLAY_END_COMMAND stops the playback of a voice file 
  2332. in voice mode. The current buffer is deleted and the voice transmission is 
  2333. halted.
  2334.  
  2335. EXAMPLE:        PLAY_START_COMMAND            - Host
  2336.             BOARD_ACK_COMMAND            - FAX
  2337.             PC_ACK                    - Host
  2338.             LOAD_DATA_COMMAND            - FAX
  2339.             ...load data in DATA_AREA            - Host
  2340.             ...set number bytes                - Host
  2341.             PC_ACK                    - Host
  2342.             LOAD_DATA_COMMAND            - FAX
  2343.             PLAY_END_COMMAND            - Host
  2344.             BOARD_ACK_COMMAND            - FAX
  2345.             PC_ACK                    - Host
  2346.             IDLE                         - FAX
  2347.  
  2348. RELATED FUNCTIONS:     "Voice and DTMF", 
  2349.                 PLAY_START_COMMAND, 
  2350.                 EOV_FLAG
  2351.  
  2352.  
  2353. **************************************************************************
  2354. Play_Start_Command
  2355. Characteristic    Description
  2356. COMMAND:         Play_Start_Command
  2357. CODE:             062H
  2358. CATEGORY:        Voice 
  2359. DIRECTION:        Host to JT Fax
  2360. INPUT to JT:        Binary Voice data in DATA_AREA
  2361. OUTPUT from JT:    BOARD_ACK_STATUS
  2362. DEFAULT:        Not applicable
  2363.  
  2364. DESCRIPTION:    The PLAY_START_COMMAND initiates the playing of a 
  2365. recorded voice file. The command sequence is similar to a XMIT_COMMAND. An 
  2366. EOV_FLAG is issued when the last voice data is entered in DATA_AREA. The 
  2367. timing for loading data is the same as XMIT_COMMAND for JT Fax data formats.
  2368.  
  2369. EXAMPLE:        PLAY_START_COMMAND            - Host
  2370.             BOARD_ACK_COMMAND            - FAX
  2371.             PC_ACK                    - Host
  2372.             LOAD_DATA_COMMAND            - FAX
  2373.             ...load data in DATA_AREA            - Host
  2374.             ...set number bytes                - Host
  2375.             PC_ACK                    - Host
  2376.             LOAD_DATA_COMMAND            - FAX
  2377.             ...load data in DATA_AREA            - Host
  2378.             ...set number bytes                - Host
  2379.             PC_ACK                    - Host
  2380.             LOAD_DATA_COMMAND            - FAX
  2381.             ...load data in DATA_AREA            - Host
  2382.             ...set number bytes                - Host
  2383.             EOV_FLAG                    - Host    
  2384.             BOARD_ACK_COMMAND            - FAX
  2385.             PC_ACK                    - Host
  2386.             IDLE                         - FAX
  2387.  
  2388. RELATED FUNCTIONS:     "Voice and DTMF", 
  2389.                 CNG_DETECT_ON_COMMAND, 
  2390.                 ERRFLAG, 
  2391.                 NO_CNG_DETECT_ERROR, 
  2392.                 PLAY_STOP_COMMAND, 
  2393.                 EOV_FLAG
  2394.  
  2395.  
  2396. **************************************************************************
  2397. Pulse_Break_Command
  2398. Characteristic    Description
  2399. COMMAND:         Pulse_Break_Command
  2400. CODE:             03AH
  2401. CATEGORY:        Configuration
  2402. DIRECTION:        Host to JT Fax
  2403. INPUT to JT:        Word value in Buffer_Area in milliseconds
  2404. OUTPUT from JT:    BOARD_ACK_STATUS
  2405. DEFAULT:        60 milliseconds
  2406.  
  2407. DESCRIPTION:    The PULSE_BREAK_COMMAND requires the Host to set the 
  2408. value of the "BREAK" portion of the make/break ratio for pulse dialing. The 
  2409. value is written into buffer_area before the command is issued.
  2410.  
  2411. EXAMPLE:        IDLE                        - FAX
  2412.             PULSE_BREAK_COMMAND            - Host
  2413.             BOARD_ACK_STATUS            - FAX
  2414.             PC_ACK                    - Host
  2415.             IDLE                        - FAX
  2416.  
  2417. RELATED FUNCTIONS:     PULSE_MAKE_COMMAND, 
  2418.                 PULSE_DIAL_COMMAND
  2419.  
  2420.  
  2421. **************************************************************************
  2422. Pulse_Dial_Command
  2423. Characteristic    Description
  2424. COMMAND:         Pulse_Dial_Command
  2425. CODE:             02DH
  2426. CATEGORY:        Utility 
  2427. DIRECTION:        Host to JT Fax
  2428. INPUT to JT:        Pulse number at OFFSET 00H in buffer_area
  2429. Max. number length 60 characters.
  2430. OUTPUT from JT:    BOARD_ACK_STATUS
  2431. DEFAULT:        Not applicable
  2432.  
  2433. DESCRIPTION:    PULSE_DIAL_COMMAND dials the phone number at 
  2434. BUFFER_AREA. The command does not connect the phone line. The line must be 
  2435. connected with an OFF_HOOK_COMMAND. The dial string has several digits and 
  2436. modifiers. The DTMF digits supported are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. The dial 
  2437. modifiers are:
  2438.  
  2439. JT Fax 9600B COMPATIBILITY
  2440. -------------------------------
  2441. First byte: 
  2442.     'P' - Pulse Dial
  2443.     'T' - Tone Dial 
  2444. Second byte: 
  2445.     'W' - Wait for Dial Tone 
  2446.     ' ' - Do not Wait 
  2447.  
  2448. If the first two bytes are 'MA' (Manual Dial) a number will not be dialed.
  2449.  
  2450. JT Fax 14400B
  2451. ---------------------------
  2452. P    - pulse dial
  2453. T    - tone dial
  2454. W    - wait for dialtone
  2455. ,    - 2 second pause
  2456. !    - flash hook
  2457. I    - no busy detect
  2458.  
  2459. Note: JT Fax must be in Fax mode for Utility commands.
  2460.  
  2461. EXAMPLE:        IDLE                        - FAX
  2462.             (load string value in buffer_area)    - Host
  2463.             PULSE_DIAL_COMMAND             - Host
  2464.             BOARD_ACK_STATUS            - FAX
  2465.             PC_ACK                    - Host
  2466.             IDLE_STATUS                - Fax
  2467.     
  2468. RELATED FUNCTIONS:     XMIT_COMMAND, 
  2469.                 PULSE_INTER_COMMAND
  2470.  
  2471.  
  2472. **************************************************************************
  2473. Pulse_Inter_Command
  2474. Characteristic    Description
  2475. COMMAND:         Pulse_Inter_Command
  2476. CODE:             032H
  2477. CATEGORY:        Configuration
  2478. DIRECTION:        Host to JT Fax
  2479. INPUT to JT:        Time in milliseconds, WORD value in buffer_area
  2480. OUTPUT from JT:    BOARD_ACK_STATUS
  2481. DEFAULT:        600 milliseconds
  2482.  
  2483. DESCRIPTION:    The PULSE_INTER_COMMAND sets the interdigit time of the 
  2484. pulse dial. The units of the command are in milliseconds.
  2485.  
  2486. EXAMPLE:        IDLE                        - FAX
  2487.             (value in buffer_area)            - Host
  2488.             PULSE_INTER_COMMAND             - Host
  2489.             BOARD_ACK_STATUS            - FAX
  2490.             PC_ACK                     - Host
  2491.             IDLE_STATUS                - FAX
  2492.  
  2493. RELATED FUNCTIONS:     PULSE_BREAK_COMMAND, 
  2494.                 PULSE_MAKE_COMMAND
  2495.  
  2496.  
  2497. **************************************************************************
  2498. Pulse_Make_Command
  2499. Characteristic    Description
  2500. COMMAND:         Pulse_Make_Command
  2501. CODE:             03BH
  2502. CATEGORY:        Configuration
  2503. DIRECTION:        Host to JT Fax
  2504. INPUT to JT:        Word value in Buffer_Area in milliseconds
  2505. OUTPUT from JT:    BOARD_ACK_STATUS
  2506. DEFAULT:        40 milliseconds
  2507.  
  2508. DESCRIPTION:    The PULSE_MAKE_COMMAND requires the Host to set the 
  2509. value of the "make" portion of the make/break ratio for pulse dialing. The 
  2510. value is written into buffer_area before the command is issued.
  2511.  
  2512. EXAMPLE:        IDLE                        - FAX
  2513.             PULSE_MAKE_COMMAND            - Host
  2514.             BOARD_ACK_STATUS            - FAX
  2515.             PC_ACK                    - Host
  2516.             IDLE                        - FAX
  2517.  
  2518. RELATED FUNCTIONS:     PULSE_MAKE_COMMAND, 
  2519.                 PULSE_DIAL_COMMAND
  2520.  
  2521.  
  2522. *****************************************************************************
  2523. RecvInit
  2524. Characteristic    Description
  2525. COMMAND:         RecvInit
  2526. CODE:             10H
  2527. CATEGORY:        Fax 
  2528. DIRECTION:        JT Fax to Host
  2529. INPUT to JT:        PC_ACK
  2530. OUTPUT from JT:    None
  2531. DEFAULT:        Not applicable
  2532.  
  2533. DESCRIPTION:    RECVINIT command is issued to the Host when JT Fax detects 
  2534. an incoming call. The call may be a voice call or a fax call. It is up to the Host 
  2535. to make this determination (see Chapter 4) and decide to initiate voice 
  2536. procedures, disconnect, or continue the call. The default is to continue the call. 
  2537. If the caller is voice and CNG_DETECT is not enabled, the CED is transmitted and 
  2538. the call disconnects when Carrier timer expires. CNG detect mode has several 
  2539. options (see 
  2540. Chapter 4). 
  2541.  
  2542. EXAMPLE:        IDLE                        - FAX
  2543.             RECVINIT_COMMAND             - FAX
  2544.             ...(load ID into Buffer Area)        - FAX
  2545.             PC_ACK                    - Host
  2546.             LOAD_DATA_COMMAND            - FAX
  2547.             ...retrieve data                 - Host
  2548.             PC_ACK                     - Host
  2549.                 .
  2550.                 .
  2551.                 .
  2552.             EOTFLAG                     - JT Fax
  2553.             ...retrieve data                 - Host
  2554.             PC_ACK                     - Host
  2555.             IDLE                         - JT Fax
  2556.  
  2557. RELATED FUNCTIONS:     XMIT_COMMAND, 
  2558.                 LOAD_DATA_COMMAND,
  2559.                 SET_VOICE_COMMAND, 
  2560.                 DTMF_DETECT_COMMAND, 
  2561.                 DTMF_DETECT, 
  2562.                 SILENCE_DETECTED, 
  2563.                 SET_ACTIVITY_TIMER, 
  2564.                 "Error Codes"
  2565.  
  2566.  
  2567. **************************************************************************
  2568. Rec_PCX_Off_Command
  2569. Characteristic    Description
  2570. COMMAND:         Rec_PCX_Off_Command
  2571. CODE:             023H
  2572. CATEGORY:        Configuration
  2573. DIRECTION:        Host to JT Fax
  2574. INPUT to JT:        None
  2575. OUTPUT from JT:    BOARD_ACK_STATUS
  2576. DEFAULT:        PCX receive conversion disabled
  2577.  
  2578. DESCRIPTION:    REC_PCX_OFF_COMMAND configures JT Fax to convert 
  2579. the caller's T.4 encoded file to a JT_FAX_FORMAT.
  2580.  
  2581. EXAMPLE:        IDLE                        - FAX
  2582.             REC_PCX_OFF_COMMAND            - Host
  2583.             BOARD_ACK_STATUS            - FAX
  2584.             PC_ACK                    - Host
  2585.             IDLE                         - FAX
  2586.  
  2587. RELATED FUNCTIONS:     RECVINIT, 
  2588.                 MANUAL_REC_COMMAND, 
  2589.                 "Data Formats"
  2590.  
  2591.  
  2592. **************************************************************************
  2593. Rec_PCX_On_Command
  2594. Characteristic    Description
  2595. COMMAND:         Rec_PCX_On_Command
  2596. CODE:             022H
  2597. CATEGORY:        Configuration
  2598. DIRECTION:        Host to JT Fax
  2599. INPUT to JT:        None
  2600. OUTPUT from JT:    BOARD_ACK_STATUS
  2601. DEFAULT:        PCX receive conversion disabled
  2602.  
  2603. DESCRIPTION:    REC_PCX_ON_COMMAND configures JT Fax to convert 
  2604. the caller's T.4 encoded file to a PCX version 3 file. The PCX header is given to 
  2605. the Host in the first data load.
  2606.  
  2607. EXAMPLE:        IDLE                        - FAX
  2608.             REC_PCX_ON_COMMAND            - Host
  2609.             BOARD_ACK_STATUS            - FAX
  2610.             PC_ACK                    - Host
  2611.             IDLE                         - FAX
  2612.  
  2613. RELATED FUNCTIONS:     RECVINIT, 
  2614.                 MANUAL_REC_COMMAND
  2615.  
  2616.  
  2617. **************************************************************************
  2618. Rec_Start_Command
  2619. Characteristic    Description
  2620. COMMAND:         Rec_Start_Command
  2621. CODE:             064H
  2622. CATEGORY:        Voice 
  2623. DIRECTION:        Host to JT Fax
  2624. INPUT to JT:        None
  2625. OUTPUT from JT:    Recorded data in DATA_AREA
  2626.             Load_Data_Command
  2627. DEFAULT:        Not applicable
  2628.  
  2629. DESCRIPTION:    The REC_START_COMMAND instructs the fax to initiate a 
  2630. recording session. The command sequences are similar to the receive Fax data. 
  2631. Once the command is issued, the data pump is configured and voice data from 
  2632. the A/D converter is read immediately. The data sampling continues until a 
  2633. REC_STOP_COMMAND is issued.
  2634.  
  2635. EXAMPLE:        REC_START_STATUS            - Host
  2636.             BOARD_ACK_STATUS            - FAX
  2637.             ...load data in DATA_AREA            - FAX
  2638.             ...set number bytes                - FAX
  2639.             LOAD_DATA                     - FAX
  2640.             ...retrieve data from DATA_AREA    - Host
  2641.             PC_ACK                    - Host
  2642.             ...load data in DATA_AREA            - FAX
  2643.             ...set number bytes                - FAX
  2644.             LOAD_DATA                     - FAX
  2645.             ...load data from DATA_AREA        - Host
  2646.                 .
  2647.                 .
  2648.                 .
  2649.  
  2650. RELATED FUNCTIONS:     "Voice and DTMF", 
  2651.                 REC_STOP_COMMAND, 
  2652.                 RECVINIT_COMMAND
  2653.  
  2654. Note: This command can be used to record offline on Fax A with a microphone. 
  2655. Recording may be done while connected on-line with either Fax A or Fax B 
  2656. using the phone line as input.
  2657.  
  2658.  
  2659. **************************************************************************
  2660. Rec_Stop_Command
  2661. Characteristic    Description
  2662. COMMAND:         Rec_Stop_Command
  2663. CODE:             065H
  2664. CATEGORY:        Voice
  2665. DIRECTION:        Host to JT Fax
  2666. INPUT to JT:        None
  2667. OUTPUT from JT:    Recorded data in DATA_AREA
  2668.             Load_Data_Command
  2669.             EOV_FLAG
  2670. DEFAULT:        Off
  2671.  
  2672. DESCRIPTION:    The REC_STOP_COMMAND instructs the JT Fax to terminate a 
  2673. recording session. The recording stops and the data in the record buffers is 
  2674. transmitted to the Host. To end the transmission of data to the Host, the JT Fax 
  2675. issues an EOV_FLAG.
  2676.  
  2677. EXAMPLE:        REC_START_COMMAND            - Host
  2678.             BOARD_ACK_STATUS            - FAX
  2679.             ...load data in DATA_AREA            - FAX
  2680.             ...set number bytes                - FAX
  2681.             LOAD_DATA                     - FAX
  2682.             ...load data from DATA_AREA        - Host
  2683.             PC_ACK                    - Host
  2684.             ...load data in DATA_AREA            - FAX
  2685.             ...set number bytes                - FAX
  2686.             LOAD_DATA                     - FAX
  2687.             ...load data from DATA_AREA        - Host
  2688.             REC_STOP_COMMAND            - Host
  2689.             ...load data in DATA_AREA            - FAX
  2690.             ...set number bytes                - FAX
  2691.             EOV_FLAG                     - FAX
  2692.             ...load data from DATA_AREA        - Host
  2693.             PC_ACK                    - Host
  2694.             IDLE                         - FAX
  2695.  
  2696. RELATED FUNCTIONS:     "Voice and DTMF", 
  2697.                 REC_START_COMMAND, 
  2698.                 RECVINIT_COMMAND
  2699.  
  2700. Note: After recording messages, disconnect the microphone from Fax A.
  2701.  
  2702.  
  2703. **************************************************************************
  2704. Reset_Data_Pump_Command
  2705. Characteristic    Description
  2706. COMMAND:         Reset_Data_Pump_Command
  2707. CODE:             033H
  2708. CATEGORY:        Utility
  2709. DIRECTION:        Host to JT Fax
  2710. INPUT to JT:        None
  2711. OUTPUT from JT:    BOARD_ACK_STATUS
  2712. DEFAULT:        Not applicable
  2713. DESCRIPTION:    The RESET_DATA_PUMP command resets the Fax data pump. 
  2714. When resetting the data pump, the chip returns to its initial power on state. 
  2715. This command should only be used before the DIAL_DTMF_COMMANDS state. 
  2716. The command is used by JT Fax to set the data pump to a known state after each 
  2717. call or receive.
  2718.  
  2719. EXAMPLE:    RESET_DATA_PUMP_COMMAND            - Host
  2720.         BOARD_ACK_STATUS                - FAX
  2721.         PC_ACK                        - Host
  2722.         IDLE                            - FAX
  2723.  
  2724. RELATED FUNCTIONS:     HARDWARE_RESET_COMMAND
  2725.  
  2726.  
  2727. **************************************************************************
  2728. Return_to_Command
  2729. Characteristic    Description
  2730. COMMAND:         Return_to_Command
  2731. CODE:             072H
  2732. CATEGORY:        Voice 
  2733. DIRECTION:        Host to JT Fax
  2734. INPUT to JT:        None
  2735. OUTPUT from JT:    BOARD_ACK_COMMAND
  2736. DEFAULT:        Not applicable
  2737. DESCRIPTION:    The RETURN_TO_COMMAND terminates voice mode and 
  2738. returns to command state. The JT Fax returns to command state, and the data 
  2739. pump is reset. The phone line may be disconnected by the ON_HOOK_COMMAND 
  2740. if desired.
  2741.  
  2742. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  2743.             PC_ACK                    - Host
  2744.             RETURN_TO_COMMAND            - HOST
  2745.             BOARD_ACK_STATUS            - FAX
  2746.             PC_ACK                    - Host
  2747.             IDLE                        - FAX
  2748.  
  2749. RELATED FUNCTIONS:     "Voice and DTMF", 
  2750.                 CNG_DETECT_ON_COMMAND, 
  2751.                 RETURN_TO_DATA_COMMAND
  2752.  
  2753.  
  2754. **************************************************************************
  2755. Return_to_Data_Command
  2756. Characteristic    Description
  2757. COMMAND:         Return_to_Data_Command
  2758. CODE:             071H
  2759. CATEGORY:        Voice 
  2760. DIRECTION:        Host to JT Fax
  2761. INPUT to JT:        None
  2762. OUTPUT from JT:    BOARD_ACK_COMMAND
  2763. DEFAULT:        Not applicable
  2764.  
  2765. DESCRIPTION:    The RETURN_TO_DATA_COMMAND terminates voice mode 
  2766. and returns to complete a fax call. The JT Fax is returned to fax data at the 
  2767. beginning of Phase A and transmits the CED to the caller. (See Chapter 6).
  2768.  
  2769. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  2770.             PC_ACK                    - Host
  2771.             RETURN_TO_DATA_COMMAND        - Host
  2772.             BOARD_ACK_STATUS            - FAX
  2773.             ...send CED                    - FAX
  2774.  
  2775. RELATED FUNCTIONS:     "Voice and DTMF", 
  2776.                 CNG_DETECT_ON_COMMAND
  2777.  
  2778.  
  2779. **************************************************************************
  2780. Setup_Voice_Command
  2781. Characteristic    Description
  2782. COMMAND:         Setup_Voice_Command
  2783. CODE:             05FH
  2784. CATEGORY:        Voice 
  2785. DIRECTION:        Host to JT Fax
  2786. INPUT to JT:        None
  2787. OUTPUT from JT:    BOARD_ACK_STATUS
  2788. DEFAULT:        Not applicable
  2789.  
  2790. DESCRIPTION:    The SETUP_VOICE_COMMAND must be issued from command 
  2791. state. The command is used to enter voice mode for RECORDING or PLAYBACK 
  2792. and testing. Once in the VOICE mode, all voice commands can be issued and 
  2793. DTMF detection is enabled. See Chapter 6.
  2794.  
  2795. EXAMPLE:        IDLE                        - FAX
  2796.             SETUP_VOICE_COMMAND             - Host
  2797.             BOARD_ACK_STATUS            - FAX
  2798.             PC_ACK                    - Host
  2799.             IDLE                        - FAX
  2800.  
  2801. RELATED FUNCTIONS:     ╥Voice and DTMF"
  2802.  
  2803.  
  2804. **************************************************************************
  2805. Set_Act_Timer_Command
  2806. Characteristic    Description
  2807. COMMAND:         Set_Act_Timer_Command
  2808. CODE:             06FH
  2809. CATEGORY:        Voice - Configuration
  2810. DIRECTION:        Host to JT Fax
  2811. INPUT to JT:        Word value in Buffer_Area
  2812. OUTPUT from JT:    BOARD_ACK_STATUS
  2813. DEFAULT:        3.5 seconds
  2814.  
  2815. DESCRIPTION:    The SET_ACT_TIMER_COMMAND sets the activity timer 
  2816. when CNG_DETECT_ON_COMMAND has been issued. The timer value is specified 
  2817. in milliseconds and has a range from 0-65000. The activity timer starts after 
  2818. the Fax picks up the phone line. If a CNG tone is detected (Fax caller), the 
  2819. timer is reset, a CED is transmitted (Fax callee) and the Fax call continues. 
  2820. However, if silence is detected (no CNG tone) for the duration of the activity 
  2821. timer, the SILENCE_DETECT_STATUS is issued. The JT Fax automatically enters 
  2822. VOICE/DTMF mode. 
  2823.  
  2824. Note: Cycle time for a CNG_TONE is 3 seconds off, 0.5 seconds on.
  2825.  
  2826. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  2827.             PC_ACK                    - Host
  2828.             IDLE                        - Host
  2829.                 .
  2830.                 .
  2831.                 .
  2832.             PLAY_START_COMMAND            - Host
  2833.                 .
  2834.                 .
  2835.                 .
  2836.  
  2837. RELATED FUNCTIONS:     "Voice and DTMF", 
  2838.                 PLAY_START_COMMAND, 
  2839.                 DTMF_DIAL_COMMAND, 
  2840.                 DTMF_DETECT_ON_COMMAND
  2841.  
  2842.  
  2843. **************************************************************************
  2844. Set_Carrier_Command
  2845. Characteristic    Description
  2846. COMMAND:         Set_Carrier_Command
  2847. CODE:             020H
  2848. CATEGORY:        Configuration
  2849. DIRECTION:        Host to JT Fax 
  2850. INPUT to JT:        Wait for carrier time
  2851.             buffer area (word value) - in milliseconds max. 
  2852.             (65 seconds)
  2853. OUTPUT from JT:    BOARD_ACK
  2854. DEFAULT:        60 sec
  2855.  
  2856. DESCRIPTION:    The SET_CARRIER_COMMAND sets the time to wait for the 
  2857. caller and called station to complete Phase A. The NO_CARRIER timer starts 
  2858. after the dial and terminates at the beginning of Phase B. If the timer expires, 
  2859. the call is disconnected and an ERROR status returned to the host. Carrier may 
  2860. also be set placing a work value into Buffer Area [0] before a Sync Command is 
  2861. issued. Units are in milliseconds.
  2862.  
  2863. EXAMPLE:        (load time in buffer area)        - Host
  2864.             SET_CARRIER_COMMAND             - Host
  2865.             BOARD_ACK_STATUS            - FAX
  2866.             PC_ACK                    - Host
  2867.             IDLE                        - FAX
  2868.  
  2869. RELATED FUNCTIONS:     ERROR, "Error Codes", 
  2870.                 "Status Codes"
  2871.  
  2872.  
  2873. **************************************************************************
  2874. Set_Gain_Command
  2875. Characteristic    Description
  2876. COMMAND:         Set_Gain_Command
  2877. CODE:             069H
  2878. CATEGORY:        Voice - Configuration
  2879. DIRECTION:        Host to JT Fax
  2880. INPUT to JT:        Word value in BUFFER_AREA
  2881. OUTPUT from JT:    BOARD_ACK_COMMAND
  2882. DEFAULT:        43.8 dB
  2883.  
  2884. DESCRIPTION:    The SET_GAIN_COMMAND sets the maximum gain of the 
  2885. voice recording. The maximum gain should only be changed during recording 
  2886. to achieve a better quality of voice recording. The maximum gain is calculated 
  2887. by the following formula:
  2888.  
  2889.     MAX_GAIN = 655.36 [ 50 - Gain Limit (dB) ].
  2890.  
  2891. The value should be a 16-bit, positive, two╒s compliment value. The value is 
  2892. retained between recordings.
  2893.  
  2894. EXAMPLE:        IDLE                        - FAX
  2895.             ...load Gain Limit WORD in 
  2896.                  buffer_area                 - Host
  2897.             SET_GAIN_COMMAND            - Host
  2898.             BOARD_ACK_COMMAND            - FAX
  2899.             PC_ACK                    - Host
  2900.             IDLE                        - FAX
  2901.             REC_START_COMMAND            - Host
  2902.             BOARD_ACK_COMMAND            - FAX
  2903.             ...load data in DATA_AREA            - FAX
  2904.             ...set number bytes                - FAX
  2905.             LOAD_DATA_COMMAND            - FAX
  2906.                 .
  2907.                 .
  2908.                 .
  2909.             EOV_FLAG                     - FAX
  2910.             ...load data from DATA_AREA        - Host
  2911.             PC_ACK                    - Host
  2912.             IDLE                         - FAX
  2913.  
  2914. RELATED FUNCTIONS:     "Voice and DTMF", 
  2915.                 REC_START_COMMAND
  2916.  
  2917.  
  2918. **************************************************************************
  2919. Set_Sample_Rate_Command
  2920. Characteristic    Description
  2921. COMMAND:         Set_Sample_Rate_Command
  2922. CODE:             06AH
  2923. CATEGORY:        Voice - Configuration
  2924. DIRECTION:        Host to JT Fax
  2925. INPUT to JT:        BYTE value in BUFFER_AREA
  2926. OUTPUT from JT:    BOARD_ACK_COMMAND
  2927. DEFAULT:        9600 Hz
  2928. DESCRIPTION:    The SET_SAMPLE_RATE_COMMAND sets the sampling rate of 
  2929. the voice recording. The value placed into the Buffer_Area is an index to the 
  2930. provided sample rates. The following is an EXAMPLE of the available sample rates:
  2931.  
  2932. ---------------
  2933. 1    9600 Hz
  2934. 2    8000 Hz
  2935. 3    7200 Hz
  2936.  
  2937. The value is retained between voice mode sessions.
  2938.  
  2939. EXAMPLE:        IDLE                        - FAX
  2940.             ...load BYTE in buffer_area         - Host
  2941.             SET_SAMPLE_RATE_COMMAND        - Host
  2942.             BOARD_ACK_STATUS            - FAX
  2943.             PC_ACK                    - Host
  2944.             IDLE                        - FAX
  2945.             REC_START_COMMAND            - Host
  2946.             BOARD_ACK_STATUS            - FAX
  2947.             ...load data in DATA_AREA            - FAX
  2948.             ...set number bytes                - FAX
  2949.             LOAD_DATA_COMMAND            - FAX
  2950.                 .
  2951.                 .
  2952.                 .
  2953.             EOV_FLAG                     - FAX
  2954.             ...load data from DATA_AREA        - Host
  2955.             PC_ACK                    - Host
  2956.             IDLE                         - FAX
  2957.  
  2958. RELATED FUNCTIONS:     "Voice and DTMF", 
  2959.                 REC_START_COMMAND
  2960.  
  2961.  
  2962. **************************************************************************
  2963. Set_Slew_Rate_Command
  2964. Characteristic    Description
  2965. COMMAND:         Set_Slew_Rate_Command
  2966. CODE:             06BH
  2967. CATEGORY:        Voice - Configuration
  2968. DIRECTION:        Host to JT Fax
  2969. INPUT to JT:        WORD value in BUFFER_AREA
  2970. OUTPUT from JT:    BOARD_ACK_COMMAND
  2971. DEFAULT:        0
  2972.  
  2973. DESCRIPTION:    The SET_SLEW_RATE_COMMAND sets the slew rate of the 
  2974. voice recording. The value is placed into the Buffer_Area. The Slew rate value 
  2975. determines the fall off time of the voice wave form. The value can be 
  2976. adjusted by the following formula, 
  2977.  
  2978.     SLEW_RATE = [19968/(Sample Rate x fall time in seconds)].
  2979.  
  2980. The value is a 16-bit, positive, two╒s compliment value. The value is retained 
  2981. between voice sessions.
  2982.  
  2983. EXAMPLE:        IDLE                        - FAX
  2984.             ...load BYTE in buffer_area         - Host
  2985.             SET_SLEW_RATE_COMMAND        - Host
  2986.             BOARD_ACK_STATUS            - FAX
  2987.             PC_ACK                    - Host
  2988.             IDLE                        - FAX
  2989.             REC_START_COMMAND            - Host
  2990.             BOARD_ACK_STATUS            - FAX
  2991.             ...load data in DATA_AREA            - FAX
  2992.             ...set number bytes                - FAX
  2993.             LOAD_DATA_COMMAND            - FAX
  2994.                 .
  2995.                 .
  2996.                 .
  2997.             EOV_FLAG                     - FAX
  2998.             ...load data from DATA_AREA        - Host
  2999.             PC_ACK                    - Host
  3000.             IDLE                         - FAX
  3001.  
  3002. RELATED FUNCTIONS:     "Voice and DTMF", 
  3003.                 REC_START_COMMAND
  3004.  
  3005.  
  3006. **************************************************************************
  3007. Set_User_CSI_Command
  3008. Characteristic    Description
  3009. COMMAND:         Set_User_CSI_Command
  3010. CODE:             055H
  3011. CATEGORY:        Configuration 
  3012. DIRECTION:        Host to JT Fax
  3013. INPUT to JT:        Buffer_Area 20 byte CSI
  3014. OUTPUT from JT:    BOARD_ACK_STATUS
  3015. DEFAULT:        Not applicable
  3016.  
  3017. DESCRIPTION:    The SET_USER_CSI_COMMAND provides flexibility in Fax 
  3018. identification. TSI/CSI Fax information for transmit and receive can be 
  3019. modified to contain a specialized message. The format previously available for 
  3020. 9600B allowed the CSI to be placed in the buffer area on transmit and receive. 
  3021. The format of header data in the BUFFER_AREA consisted of:
  3022.  
  3023. Ñ    0-20 CSI
  3024. Ñ    21-54 -other user information
  3025. Ñ    55 - Page number followed by space (transmit only)
  3026. Ñ    56 - 61 padded spaces.
  3027.  
  3028. The CSI was always contained in the header of the transmitted page. In receive 
  3029. mode, the CSI was transmitted to the caller. Since the CSI appeared on the Fax 
  3030. page as a header, there was no way to send different CSI data to the 
  3031. caller/callee. This command allows two different messages to appear to the 
  3032. caller/callee. One message in the CSI and the other in the printed Fax header.
  3033.  
  3034. The SET_USER_CSI mode can only be cleared with a HARD_RESET.
  3035.  
  3036. EXAMPLE:        IDLE                        - FAX
  3037.             SET_USER_CSI_COMMAND             - Host
  3038.             BOARD_ACK_STATUS            - FAX
  3039.             PC_ACK                    - Host
  3040.             IDLE                        - FAX
  3041.  
  3042. RELATED FUNCTIONS:     XMIT_COMMAND, 
  3043.                 "Buffer Area"
  3044.  
  3045.  
  3046. **************************************************************************
  3047. Set_User_TSI_Command
  3048. Characteristic    Description
  3049. COMMAND:         Set_User_TSI_Command
  3050. CODE:             054H
  3051. CATEGORY:        Configuration 
  3052. DIRECTION:        Host to JT Fax
  3053. INPUT to JT:        Buffer_Area 20 byte TSI
  3054. OUTPUT from JT:    BOARD_ACK_STATUS
  3055. DEFAULT:        Not applicable
  3056.  
  3057. DESCRIPTION:    The SET_USER_TSI_COMMAND provides flexibility in fax 
  3058. identification. TSI/CSI fax information for transmit and receive can be 
  3059. modified to contain a specialized message. The format previously available for 
  3060. 9600B allowed the TSI to be placed in the buffer area on transmit and receive. 
  3061. The format of header data in the BUFFER_AREA consisted of:
  3062.  
  3063. Ñ    0-20 TSI
  3064. Ñ    21-54 -other user information
  3065. Ñ    55 - Page number followed by space (transmit only)
  3066. Ñ    56 - 61 padded spaces.
  3067.  
  3068. The TSI was always contained in the header of the transmitted page. In receive 
  3069. mode, the TSI was transmitted to the caller. Since the TSI appeared on the Fax 
  3070. page as a header, there was no way to send different TSI data to the 
  3071. caller/callee. This command allows two different messages to appear to the 
  3072. caller/callee. One message in the TSI and the other in the printed Fax header.
  3073.  
  3074. The SET_USER_TSI mode can only be cleared with a HARD_RESET.
  3075.  
  3076. EXAMPLE:    IDLE                            - FAX
  3077.         SET_USER_TSI_COMMAND                 - Host
  3078.         BOARD_ACK_STATUS                - FAX
  3079.         PC_ACK                        - Host
  3080.         IDLE                            - FAX
  3081.  
  3082. RELATED FUNCTIONS:     XMIT_COMMAND, 
  3083.                 "Buffer Area"
  3084.  
  3085.  
  3086. **************************************************************************
  3087. Silence_Detected_Status
  3088. Characteristic    Description
  3089. COMMAND:         Silence_Detected_Status
  3090. CODE:             06CH
  3091. CATEGORY:        Voice 
  3092. DIRECTION:        JT Fax to Host
  3093. INPUT to JT:        PC_ACK
  3094. OUTPUT from JT:    None
  3095. DEFAULT:        Not applicable
  3096.  
  3097. DESCRIPTION:    The SILENCE_DETECTED_STATUS notifies the Host that a CNG 
  3098. tone was not detected within the user-defined time limit. The notification only 
  3099. occurs if a CNG_DETECT_ON_COMMAND has been previously issued. Once silence 
  3100. has been detected, the JT Fax enters into Voice mode. The Host has the following 
  3101. options
  3102.  
  3103. 1.    voice commands,
  3104. 2.    wait for DTMF detection,
  3105. 3.    return to data and continue call, and
  3106. 4.    return to command and terminate call.
  3107.  
  3108. EXAMPLE:        .
  3109.             .
  3110.             .
  3111.         SILENCE_DETECTED_STATUS            - FAX
  3112.         PC_ACK                        - Host
  3113.         REC_START_COMMAND                - Host
  3114.         BOARD_ACK_STATUS                - FAX
  3115.         ...load data in DATA_AREA                - FAX
  3116.         ...set number bytes                    - FAX
  3117.         LOAD_DATA_COMMAND                - FAX
  3118.             .
  3119.             .
  3120.             .
  3121.         EOV_FLAG                         - FAX
  3122.         ...load data from DATA_AREA            - Host
  3123.         PC_ACK                        - Host
  3124.         IDLE                             - FAX
  3125.  
  3126. RELATED FUNCTIONS:     "Voice and DTMF", 
  3127.                 REC_START_COMMAND, 
  3128.                 DTMF_DIAL, 
  3129.                 DTMF_DETECT_ON_COMMAND
  3130.  
  3131.  
  3132. **************************************************************************
  3133. Software_Reset_Command
  3134. Characteristic    Description
  3135. COMMAND:         Software_Reset_Command
  3136. CODE:             031H
  3137. CATEGORY:        Control
  3138. DIRECTION:        Host to JT Fax
  3139. INPUT to JT:        None
  3140. OUTPUT from JT:    None
  3141. DEFAULT:        Not applicable
  3142.  
  3143. DESCRIPTION:    The SOFTWARE_RESET_COMMAND instructs JT Fax to initiate 
  3144. a soft reset function. The command is placed in the API block location, 
  3145. RESET_BOARD, at offset 51H. When RESET_BOARD is set to a 
  3146. SOFTWARE_RESET_COMMAND, the hardware is reset and all buffers are cleared 
  3147. (soft fonts are not cleared). After the default carrier time is reset to the value 
  3148. contained in BUFFER_AREA, JT Fax is in command state.
  3149.  
  3150. EXAMPLE:        SOFTWARE_RESET_COMMAND         - Host
  3151.             (wait for 3 seconds)
  3152.             IDLE_STATUS                - FAX
  3153.  
  3154. RELATED FUNCTIONS:     HARDWARE_RESET_COMMAND, 
  3155.                 SET_CARRIER_COMMAND
  3156.  
  3157.  
  3158. **************************************************************************
  3159. Speaker_Off_Command
  3160. Characteristic    Description
  3161. COMMAND:         Speaker_Off_Command
  3162. CODE:             03EH
  3163. CATEGORY:        Utility
  3164. DIRECTION:        Host to JT Fax
  3165. INPUT to JT:        None
  3166. OUTPUT from JT:    BOARD_ACK
  3167. DEFAULT:        Not applicable
  3168.  
  3169. DESCRIPTION:    The SPEAKER_OFF_COMMAND is used when the Host wants 
  3170. the speaker off for VOICE setup or when using the Utility commands. In 
  3171. normal JT Fax operation the speaker is controlled by the SPEAKER field of the 
  3172. API block.
  3173.  
  3174. EXAMPLE:        SPEAKER_OFF_COMMAND            - Host
  3175.             BOARD_ACK_STATUS            - FAX
  3176.             PC_ACK                    - Host
  3177.             IDLE                        - FAX
  3178.  
  3179. RELATED FUNCTIONS:     SPEAKER_ON_COMMAND
  3180.  
  3181.  
  3182. **************************************************************************
  3183. Speaker_On_Command
  3184. Characteristic    Description
  3185. COMMAND:         Speaker_On_Command
  3186. CODE:             03DH
  3187. CATEGORY:        Utility
  3188. DIRECTION:        Host to JT Fax
  3189. INPUT to JT:        None
  3190. OUTPUT from JT:    BOARD_ACK
  3191. DEFAULT:        Not applicable
  3192.  
  3193. DESCRIPTION:    The SPEAKER_ON_COMMAND is used when the Host wants 
  3194. the speaker on for VOICE setup or when using the Utility commands. In normal 
  3195. JT Fax operation the speaker is controlled by the SPEAKER field of the API block.
  3196.  
  3197. EXAMPLE:        SPEAKER_ON_COMMAND            - Host
  3198.             BOARD_ACK_STATUS            - FAX
  3199.             PC_ACK                    - Host
  3200.             IDLE                        - FAX
  3201.  
  3202. RELATED FUNCTIONS:     SPEAKER_OFF_COMMAND
  3203.  
  3204.  
  3205. **************************************************************************
  3206. Xmit_Command
  3207. Characteristic    Description
  3208. COMMAND:         Xmit_Command
  3209. CODE:             01H
  3210. CATEGORY:        FAX Transmit
  3211. DIRECTION:        Host to JT Fax
  3212. INPUT to JT:        Phone number in buffer area (if desired)
  3213.             Header in buffer area
  3214.             FAX data in swap buffer
  3215.             EOPFLAG    
  3216.             EOTFLAG
  3217. OUTPUT from JT:    LOAD_DATA_COMMAND
  3218.             BOARD_ACK
  3219.             SUCCESSFUL_TRANSMIT
  3220.             BUSY
  3221.             RING
  3222.             status messages
  3223. DEFAULT:        Not applicable
  3224.  
  3225. DESCRIPTION:    This API is the FAX transmit command. The transmit 
  3226. command operates the speaker, dials the phone number, and transfers the fax. 
  3227. After the dial is completed, the Host is prompted for the header information. 
  3228. This header is placed on the top page of the fax and a portion is used for the 
  3229. TSI. Once the header is received, the host is prompted for the data with the 
  3230. LOAD_DATA_COMMAND. The data is passed in the DATA_AREA location. The Host 
  3231. must issue a PC_ACK when all the data is loaded into DATA_AREA. Further 
  3232. LOAD_DATA_COMMANDs are issued until the fax transfer is complete. The Host 
  3233. terminates the transfer with an EOT command. 
  3234.  
  3235. The time constraint placed on the Host for data transfer is based on the format 
  3236. of the data. In the JT Fax format, approximately 10k of data can be buffered on 
  3237. the FAX. So, timing during transmission is only critical during the first initial 
  3238. stages of buffering. The initial stages require data to be loaded as fast as 
  3239. possible. 
  3240.  
  3241. If the data requires translation, the timing is more critical. The Host buffers 2 
  3242. initial loads. The worst case scenario for ASCII and PCX is approximately 5 
  3243. seconds between data loads at 14400 bps before data is lost. 
  3244.  
  3245. The data placed in DATA_AREA may be in one of three formats. These are:
  3246.  
  3247.     ASCII_FORMAT    00H
  3248.     PCX_3_FORMAT    01H
  3249.     JT_FAX_FORMAT    63H
  3250.  
  3251. The formats are discussed in detail in Chapter 7.
  3252.  
  3253.  
  3254. Characteristic    Description
  3255.  
  3256. EXAMPLE:        IDLE                        - FAX
  3257.             (load phone number in buffer area)     - Host
  3258.             (load baud rate if desired)         - Host
  3259.             XMIT_COMMAND                 - Host
  3260.             BOARD_ACK_STATUS            - FAX
  3261.             ...load header                - Host
  3262.             PC_ACK                     - Host
  3263.             LOAD_DATA_COMMAND            - FAX
  3264.             ...load data and set format            - Host
  3265.             ...set number bytes                - Host
  3266.             PC_ACK                     - Host
  3267.             LOAD_DATA_COMMAND            - FAX
  3268.             ...load data                     - Host
  3269.             PC_ACK                     - Host
  3270.                 .
  3271.                 .
  3272.                 .
  3273.             EOT                         - Host
  3274.             TRANSMIT                    - FAX
  3275.             BOARD_ACK                    - FAX
  3276.             PC_ACK                    - Host
  3277.             IDLE                         - Host
  3278.  
  3279. When the Host is transmitting multiple pages and wants to control the page 
  3280. breaks, an EOP is issued instead of PC_ACK. To control the length of the page 
  3281. the min_page parameter should be used.
  3282.  
  3283. RELATED FUNCTIONS:     IDLE, EOT, 
  3284.                 PC_ACK, 
  3285.                 BOARD_ACK, 
  3286.                 SET_CARRIER_COMMAND, 
  3287.                 FAX_MODE_COMMAND, 
  3288.                 BUSY_COMMAND, 
  3289.                 ENHANCED_MODE_ON_COMMAND, 
  3290.                 dial modifiers
  3291.  
  3292.  
  3293. ==========================================================================
  3294. Chapter 6
  3295. Shared Memory Interface Description
  3296.  
  3297.  
  3298. All functions, status codes, return codes, and data pass through the JT Fax 
  3299. shared memory interface. The interface address is selectable in 4k increments 
  3300. and is located between memory address 8000H to 0FFFFH (see the Hayes JT Fax 
  3301. 14400B Dual Installation Guide).
  3302.  
  3303. If the C programming language is used for the Host program, then the 
  3304. compiler should pack the API structure on byte boundaries. This is 
  3305. accomplished in Microsoft C by using the following statement:
  3306.  
  3307.     #pragma pack (1)
  3308.  
  3309.  
  3310. **************************************************************************
  3311. Shared Memory Interface Structure
  3312. The shared memory interface structure is organized as follows:
  3313.  
  3314. Note: This map is used with Fax A at offset 0 and Fax B at offset 800H.
  3315.  
  3316. Offset Length    Name            Usage/Description
  3317. --------------------------------------------------------------------------------------
  3318. 0000H-0005H    ID            Location of board address
  3319. 0005H-0001H    COMMAND        Commands and Status
  3320. 0006H-0001H    RING_COUNT    Ring to answer on
  3321. 0007H-0001H    CALL_MODE        Transmit/Receive
  3322. 0008H-0001H    FILE_TYPE         ASCII, PCX, JT Fax
  3323. 0009H-0001H    XMIT_FONT         Resolution, Font number
  3324. 000AH-0001H    MIN_PAGE         Force 11 inch page flag
  3325. 000BH-003DH    BUFFER_AREA     Phone numbers & headers
  3326. 0048H-0002H    SECONDS        Length of connection
  3327. 004AH-0001H    SPEAKER        on, off, on till connect
  3328. 004BH-0001H    RET_CODE         Completion code
  3329. 004CH-0002H    PAGES         Number of pages sent
  3330. 004EH-0002H    DATA_LEN         Length of valid data
  3331. 0050H-0001H    BAUD_RATE        2400, 4800, 7200, 9600, 12000, 14400 baud
  3332. 0051H-0001H    RESET_BOARD    Reset the board
  3333. 0052H-0001H    STATUS_CODE    Extended status
  3334. 0053H-0001H    LINE_COUNT        Number of lines transmitted
  3335. 0054H-0001H    RCV_FILE_TYPE    Receive file type
  3336. 0055H-0002H    RCV_LINE        Lines per page received (ASCII)
  3337. 0057H-0001H    RESERVED        Not used at this time
  3338. 0058H-07A8H    DATA_AREA        Used for file data
  3339.  
  3340. The following paragraphs describe the Shared Memory Interface fields:
  3341.  
  3342. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3343. ID    Field where the product keyword is located. Set by Board. 
  3344.  
  3345. The ID field is used to locate the board at the start of a program. Memory can be 
  3346. searched from segment 8000H to F000H for the 'ASHER' keyword at each 2K 
  3347. boundary. In the JT Fax 14400B tool kit, FINDFAX.ASM file contains an 
  3348. assembler routine that locates the 'ASHER' string. This allows the Host program 
  3349. to locate the board in memory without knowing the exact memory location.
  3350.  
  3351. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3352. COMMAND    Field for command handshakes. Set by Host and JT Fax. 
  3353.  
  3354. The COMMAND byte is used to pass most commands to the board and some status 
  3355. bytes are returned through this byte. The status bytes are JT Fax 9600B 
  3356. compatible codes described in Chapter 3.
  3357.  
  3358. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3359. RING_COUNT    Field for ring to answer count. Set by Host.
  3360.  
  3361. Ring_count is a status byte used for the ring-to-answer-on count. The count 
  3362. allows the board to answer the call when a certain number of rings is reached. 
  3363. This byte should be set to 0FH if ring detection is not desired. For originate 
  3364. only applications and manual answers, a status command RING is provided in 
  3365. the first byte of buffer area. 
  3366.  
  3367. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3368. CALL_MODE     Field for answer or receive mode. Set by Host.
  3369.  
  3370. Call_mode should be set prior to making or receiving a call. The call modes 
  3371. currently supported by the board are:
  3372.  
  3373.     Code    Description
  3374.     ---------------------------------
  3375.     00H    Call to transmit a fax
  3376.     02H    Answer to receive a fax
  3377.  
  3378. Note: This option is currently not supported. 
  3379.  
  3380. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3381. FILE_TYPE    Field for specific file type. Set by Host.
  3382.  
  3383. File_type should be set prior to a transmit. The file_type parameter determines 
  3384. the processing necessary for the JT Fax 14400B Dual to convert data to T.4 
  3385. format. The field can have the following values:
  3386.  
  3387.     Code    Description
  3388.     -------------------------
  3389.     00H    ASCII_FORMAT
  3390.     01H    PCX _3_FORMAT
  3391.     63H     JT_Fax_FORMAT 
  3392.  
  3393. For additional information see File Formats in Chapter 7.
  3394.  
  3395. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3396. XMIT_FONT    Field for JT Fax font resolution. Set by Host.
  3397.  
  3398. Xmit_font field is only used to transmit of data. The field should be set prior to 
  3399. all transmits, and is used to select the font for ASCII and high/low resolution 
  3400. for other types of transmits. If ASCII data is being sent in any font other than 
  3401. font0 (80/low) then that font must be loaded onto the board prior to the 
  3402. transmit. If any other form of data is being sent (i.e., PCX, JT Fax) then 00H and 
  3403. 01H should be used to indicate the resolution.
  3404.  
  3405.     Code    Description
  3406.     ----------------------------------------------
  3407.     00H     80 character/line low resolution
  3408.     01H     80 character/line high resolution
  3409.     02H     132 character/line low resolution
  3410.     03H    132 character/line high resolution
  3411.  
  3412. For additional information see JT Fax Formats section Chapter 7.
  3413.  
  3414. MIN_PAGE    Field set for page minimum length. Set by Host.
  3415.  
  3416. If min_page is zero when the transmit command is issued, all pages will be 
  3417. forced to be at least 11 inches long. If MIN_PAGE is set, the number of lines in 
  3418. linecount is used.
  3419.  
  3420. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3421. BUFFER_AREA    Field for FAX ID, phone number. Set by Host, JT Fax and 
  3422. status messages.
  3423.  
  3424. Buffer_area is an area used to pass the phone number to be dialed, the header 
  3425. line to put on the top of each page, fax ID and enhanced return codes. The 
  3426. default time-out-after-dial (binary) can also be loaded into buffer_area on 
  3427. start up or can be configured by using the SET_CARRIER_COMMAND function.
  3428.  
  3429. For more information on buffer area see section Appendix E.
  3430.  
  3431. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3432. SECONDS     Field for time of phases. Set by JT Fax.
  3433.  
  3434. Seconds is a timer that resets to zero at the start of a call or answer and again 
  3435. after receiving the first carrier from the other end (to get a true connection 
  3436. time). The host has the option to reset the timer.
  3437.  
  3438. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3439. SPEAKER     Field for speaker control. Set by Host.
  3440.  
  3441. The Speaker byte controls operation of the speaker as follows:
  3442.  
  3443.     Code    Description
  3444.     ---------------------
  3445.     00H     SPKR_ALWAYS_ON
  3446.     01H     SPKR_ON_TILL_CONNECT
  3447.     02H     SPKR_ALWAYS_OFF
  3448.  
  3449. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3450. RET_CODE     Field for errors and JT Fax 9600B status. Set by JT Fax.
  3451.  
  3452. Ret_code is the error return code from a fax operation. For compatibility, the 
  3453. two 9600B status codes are returned in this field. The values are:
  3454.  
  3455.     Code    Description
  3456.     -----------------------------
  3457.     0    Successful Transmit
  3458.     1    No Dial Tone
  3459.     2    No Carrier
  3460.     3    Busy
  3461.     7    Clipped
  3462.  
  3463. The Handshaking/Compatibility return codes are:
  3464.  
  3465.     Code    Description
  3466.     -------------------------------
  3467.     128    Bad DIS REC
  3468.     129    Bad Training
  3469.     130    Phase B Error
  3470.     131    Bad MPS Response
  3471.     132    Bad MCF Response
  3472.     133    Bad DSC Response
  3473.     134    Phase D Error
  3474.     135    No PC Acknowledge
  3475.     136    No Data Received
  3476.     137    Page Error on Receive
  3477.     138     Successful Receive
  3478.  
  3479. Other Return Codes are described in Appendix B.
  3480.  
  3481. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3482. PAGES    Field for number of pages. Set by JT Fax.
  3483.  
  3484. Pages is a word that keeps a running count of the number of pages sent. It is 
  3485. updated during transmission and reception.
  3486.  
  3487. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3488. DATA_LEN     Field for number of bytes in DATA_AREA Set by Host and JT Fax.
  3489.  
  3490. Fax Data_len is a word that holds the number of data bytes valid in the 
  3491. data_area. It must be loaded prior to a load_data command.
  3492.  
  3493. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3494. BAUD_RATE     Field for connect speed. Set by Host and JT Fax.
  3495.  
  3496. Baud_rate is a byte that shows the connection speed. At the start of each 
  3497. transmission it defaults to 14400 BPS. For compatibility, the receive defaults to 
  3498. 9600 BPS. 14400 BPS receive can be obtained by issuing the FAX_144_MODE_ON 
  3499. API. The BAUD_RATE field has the following values:
  3500.  
  3501.     Code    Description
  3502.     ---------------------
  3503.     00H    2400 BPS
  3504.     01H    4800 BPS
  3505.     02H    7200 BPS
  3506.     03H    9600 BPS
  3507.     04H     12000 BPS
  3508.     05H    14400 BPS 
  3509.  
  3510. The baud rate may be monitored for correct connect speed.
  3511.  
  3512. Note: This rate may also be modified by the host for transmit speed.
  3513.  
  3514. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3515. RESET_BOARD    Field for reset. Set by Host.
  3516.  
  3517. This byte is used to reset the board after an error, or it can be done on exit to 
  3518. set the board to a known state. The API HARDWARE_RESET_COMMAND in this 
  3519. byte causes a full reset of the board, including memory testing and clearing 
  3520. and can take 5-6 seconds to complete. 
  3521.  
  3522. The API SOFTWARE_RESET_COMMAND causes a partial reset and does not clear 
  3523. memory. It disconnects the phone line and returns to command state.
  3524.  
  3525. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3526. STATUS_CODE    Field for enhanced status. Set by JT Fax.
  3527.  
  3528. The status code field provides additional status for Fax transmission.
  3529.  
  3530. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3531. LINE_COUNT    Field for number lines. Set by Host.
  3532.  
  3533. Line_count is a byte that gives the number of lines to put on the page before a 
  3534. page break. The function is only applicable when MIN_PAGE  is set to 0 and 
  3535. during ASCII transmits.
  3536.  
  3537. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3538. RECV_FILE_TYPE    Field used to indicate the type of file. Set by Host.
  3539.  
  3540. The values are:
  3541.  
  3542.     Code    Description
  3543.     -------------------------
  3544.     01H    PCX_3_FORMAT
  3545.     63H    JT_FAX_FORMAT
  3546.  
  3547. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3548. RECV_LINE    Field used to indicate the number of PCX lines recieved. Set by JT 
  3549. Fax.
  3550.  
  3551. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3552. DATA_AREA    Field for data transfer. Set by Host.
  3553.  
  3554. This is the area used to buffer data out to the board. It is 1960 bytes long.
  3555.  
  3556.  
  3557. ==========================================================================
  3558. Chapter 7
  3559. File Formats
  3560.  
  3561.  
  3562. This chapter describes the JT Fax file conversion formats. These formats 
  3563. include:
  3564.  
  3565. Ñ    PCX
  3566. Ñ    ASCII
  3567. Ñ    JT Fax.
  3568.  
  3569.  
  3570. *****************************************************************************
  3571. PCX Conversion
  3572. The PCX conversion supplied with JT Fax 14400B Dual is a receive "on-the-
  3573. fly" conversion at all speeds supported. The data presented to the Host 
  3574. includes a PCX 3 header and data. All data is in black and white, 1-plane, 1 
  3575. bit-per-pixel, xmax (horizontal axis) = 1727; color is not supported.
  3576.  
  3577. Additional fields are provided for the PCX receive. These new fields are 
  3578. receive type (BYTE) at offset 55H and receive_lines at offset 56H (WORD).
  3579.  
  3580. The following commands pertain to PCX conversion:
  3581.  
  3582.     REC_PCX_ON_COMMAND
  3583.     REC_PCX_OFF_COMMAND (default)
  3584.  
  3585. The length of the PCX file (in lines) is reported in the new variable named 
  3586. RECV_LINES and is correct when the EOT is received from the fax. The 
  3587. RECV_LINES count should be placed in the PCX file by the Host. The offset into 
  3588. the PCX file for this count is 10 (zero relative) and is WORD value. The 
  3589. PCX_RECV_ON_COMMAND must be issued after setting Recvfile type to PCX.
  3590.  
  3591.  
  3592. **************************************************************************
  3593. ASCII
  3594. The following sections describe ASCII font management in JT Fax.
  3595.  
  3596. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3597. Fonts
  3598. The JT Fax 14400B Dual board gives the user the flexibility of 4 different 
  3599. fonts. These fonts are identified as font.0, font.1, font.2, and font.3. Font.0 
  3600. is the default font and Fonts 0-3 are available as user defined fonts. The 
  3601. fonts are designed in two resolutions, low and high resolution. Low resolution 
  3602. is defined as an 18-bit by 16-row character cell. High resolution is defined 
  3603. by a 18-bit by 32-row character cell. All fonts are available in the JT FAX 
  3604. software toolkit under the files font.0, font.1, font.2, and font.3. Contact 
  3605. Hayes Customer Service, see Appendix I.
  3606.  
  3607. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3608. Mode
  3609. There are two different modes for resolution, normal mode and compressed 
  3610. mode. In normal mode the character cell consists of 18 bits per character 
  3611. cell line. Normal mode is the default mode for the default font used by JT 
  3612. Fax. The JT Fax compressed mode consists of a character cell that is 13 
  3613. bits-per-character line. Both modes support 80 and 132 columns. 
  3614.  
  3615. Below is a list of these fonts with their corresponding resolution.
  3616.  
  3617. Font            Name        Resolution
  3618. -----------------------------------------------------------
  3619. Low res         faxfont.0    200x100 80 columns
  3620. normal mode            <default>
  3621. High res         faxfont.1    200x200 132 columns
  3622. normal mode
  3623. Low res         faxfont.2    200x100 80 columns
  3624. compressed
  3625. High res        faxfont.3    200x200 132 columns
  3626. compressed
  3627.  
  3628. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3629. Font Modifications
  3630. To modify these fonts, the programmer can execute the font generation 
  3631. program, fontcon.com. This program can be downloaded in the file 
  3632. faxfont.arc (contact Hayes Customer Service, see Appendix I). If the user 
  3633. wishes to create a custom font file without the use of the fontcon.com 
  3634. program, the fonts must be bit mapped as explained in the following 
  3635. paragraphs.
  3636.  
  3637. The bit map is arranged in a "pixel line" format. The character must be 
  3638. converted into a bit-format byte aligned. Character tables start with the 
  3639. ASCII character for a space " " and end with an ASCII character for a "~". 
  3640. The character is assembled into a 4x16 byte matrix in low resolution and a 
  3641. 4x32 byte matrix for high resolution. All parts of the character cell must be 
  3642. represented.
  3643.  
  3644. In lower case characters, the additional white space above the character 
  3645. must be included. For example, the lower case ASCII 'a' has several lines of 
  3646. white space above the 'a'. This must be included.
  3647.  
  3648. Within each matrix cell, the font character is defined by 4 bytes per line by:
  3649.  
  3650.     low resolution = 18 bits < 22 bits unused >
  3651.     high resolution = 13 bits < 27 bits unused >.
  3652.  
  3653. All unused bits are ignored and are set to a 0xff.
  3654.  
  3655. For example, a '!' in low-resolution normal mode 4x16 80-column, with a bit 
  3656. set for white would be as follows:
  3657.  
  3658. Row    Bitmap                Row    Bitmap
  3659. --------------------------------------------------------------------------------
  3660. 1    0xff, 0xff, 0xc0, 0xff (top space)    9    0xff, 0xf9, 0xc0, 0xff (char)
  3661. 2    0xff, 0xf0, 0xc0, 0xff (char)    10    0xff, 0xff, 0xc0, 0xff (char)
  3662. 3    0xff, 0xf0, 0xc0, 0xff (char)    11    0xff, 0xff, 0xc0, 0xff (char)
  3663. 4    0xff, 0xf0, 0xc0, 0xff (char)    12    0xff, 0xf9, 0xc0, 0xff (char)
  3664. 5    0xff, 0xf0, 0xc0, 0xff (char)    13    0xff, 0xff, 0xc0, 0xff (space)
  3665. 6    0xff, 0xf0, 0xc0, 0xff (char)    14    0xff, 0xff, 0xc0, 0xff (space)
  3666. 7    0xff, 0xf0, 0xc0, 0xff (char)    15    0xff, 0xff, 0xc0, 0xff (space)
  3667. 8    0xff, 0xf9, 0xc0, 0xff (char)    16    0xff, 0xff, 0xc0, 0xff (space)
  3668.  
  3669. The JT Fax font generation software offers the user the ability to create or 
  3670. modify the ASCII coded fonts used by the JT Fax products. The user will need 
  3671. to download FAXFONT.ARC and FONT.ARC from the HAYES BBS (see Appendix 
  3672. I).
  3673.  
  3674. For development purposes, the programmer is advised to create a font sub-
  3675. directory containing four sub-directories (one for each font), and copy the 
  3676. proper files into each sub-directory as follows:
  3677.  
  3678. Directory    Contents
  3679. ---------------------------------------------------------------
  3680. Font        All directories below.
  3681. Font 0    Low resolution normal 80 columns. Include
  3682.         FONT0.EXE, FONTSCRN, and FAXFONT.0.
  3683. Font 1    High resolution normal 80 columns. Include
  3684.         FONT1.EXE, FONTSCRN, and FAXFONT.1.
  3685. Font 2    Low resolution compressed 132 columns.
  3686.         Include FONT2.EXE, FONTSCRN, and FAXFONT.2.
  3687. Font 3    High resolution compressed 132 columns.
  3688.         Include FONT3.EXE, FONTSCRN, and FAXFONT.3.
  3689.  
  3690. To use the graphics editor, move to a font sub-directory, and type 
  3691. FONTX.EXE, where X is the font number to modify. The editor then appears, 
  3692. along with some instructions.
  3693.  
  3694.     EXAMPLE: C:/font/2
  3695.     followed by: font2
  3696.  
  3697. This example illustrates the suggested sub-directory structure and the 
  3698. procedure for editing font2 (low resolution compressed). The FONTSCRN file
  3699. is a graphic overlay for the font editor.
  3700.  
  3701. When the "Which character to edit" prompt is displayed, you may enter a 
  3702. keyboard character. To enter a non-keyboard character, find its ASCII code, 
  3703. hold down the <alt> key and enter the ASCII code with the numeric keypad.
  3704.  
  3705. To move about in the font field, use the cursor control keys. The instructions 
  3706. appearing on the screen guide you to edit a font. When the font is complete, 
  3707. enter <F1> to save it. The high resolution fonts allow editing the top and bottom 
  3708. half of each pixel in the font field. In the high resolution fonts, use T and B to 
  3709. paint or delete the Top or Bottom of a font element. As a font is modified, a 
  3710. FAXFONT.TMP file is created.
  3711.  
  3712. FONTCON.COM is then converts the FAXFONT.TMP file into the format used 
  3713. by the JT FAX software. The syntax is:
  3714.  
  3715.     FONTCON FAXFONT.TMP FAXFONT.X
  3716.  
  3717. The FAXFONT.X is the new file you created, and is now ready to be copied 
  3718. into your FAX directory for testing.
  3719.  
  3720.     EXAMPLE: c:\font\2> fontcon faxfont.tmp faxfont.2
  3721.  
  3722. The example converts the FAXFONT.TMP from sub-directory FONT2 and 
  3723. converts it to FAXFONT.2.
  3724.  
  3725. Font generation may require several iterations of some character. This is 
  3726. normal, as fonts displayed on a CRT appear different than when received on a 
  3727. Fax machine.
  3728.  
  3729. Note: Only one soft font can be downloaded. This is the font used by the Fax. Only 
  3730. one soft font at any given time can be downloaded and used. Soft Font cannot be 
  3731. used with the OEM_CODE command.
  3732.  
  3733.  
  3734. **************************************************************************
  3735. JT Fax Format
  3736. The JT Fax file format is based on a modified Huffman coding used in Group 3 
  3737. facsimile preceded by an eight byte header. The Huffman coding schema is in Appendix A.)
  3738. The header format is as follows:
  3739.  
  3740.     Offset        Explanation
  3741.     ---------------------------------------------------------------
  3742.     0         A zero byte
  3743.     1        Either 0 or 40H. If the 40H bit is set, then the file is a
  3744.             high resolution (200x200) file.
  3745.     2        reserved
  3746.     3        reserved
  3747.     4        reserved
  3748.     5        reserved
  3749.     6        reserved
  3750.     7        reserved
  3751.  
  3752. The Huffman data format is a data compression method based on run length 
  3753. encoding. One hundred and twenty-eight run lengths (64 white and 64 black), 
  3754. thirteen make-up codes, and an end-of-line (EOL) are defined by the ITU-T. 
  3755. These codes are available in Appendix A.
  3756.  
  3757. The JT Fax only supports files of 1728 pixels per line, the only required 
  3758. format for a Group 3 fax machine. The EOL command is used to end every line 
  3759. in a fax-format file.
  3760.  
  3761. It consists of 11 zero bits and a one bit. Additional zero bits, or fill bits, can 
  3762. be inserted prior to the EOL command. Although some JT Fax files use fill 
  3763. bits so that each line of fax data begins on a byte boundary, inclusion of fill 
  3764. bits is not necessary for any JT Fax family product.
  3765.  
  3766. The JT Fax file is organized as follows:
  3767.  
  3768.     Eight byte header
  3769.     EOL
  3770.     Huffman compressed line
  3771.     EOL
  3772.     Huffman compressed line
  3773.     EOL
  3774.         .
  3775.         .
  3776.         .
  3777.     Huffman compressed line
  3778.     EOL
  3779.  
  3780. Huffman compressed lines are generated using the tables in Appendix A. 
  3781. Huffman compression assumes that every line begins with a white run length, 
  3782. alternates to a black, back to white, up to an EOL. If a run length is greater 
  3783. than 63, then a make-up code is used. A make-up code is always followed by 
  3784. a run length of the same color, even if the length is zero. The Huffman codes 
  3785. are sent left-bit first (as seen in the table), but must be assembled so that 
  3786. the low-order bit in each byte is the first to send. The following example 
  3787. demonstrates this process:
  3788.  
  3789. Assume the input line of data is:
  3790.  
  3791.     30 white, 10 black, 130 white, 192 black, 1366 white
  3792.  
  3793. From the table in Appendix A:
  3794.  
  3795.     30 white = 00000011 
  3796.     10 black = 0000100
  3797.     130 white = 128 white = 10010 (make up-code) + 2 white = 0111
  3798.     192 black = 192 black = 010111(make-up code) + 0 black = 0000110111
  3799.     1366 white = 1344 white = 011011010 (make-up code) + 22 white = 
  3800. 0000011
  3801.     EOL = 000000000001
  3802.  
  3803. Put the bits in a stream:
  3804.  
  3805.     00000011000010010010011101011100001101110110110100000011
  3806.     000000000001
  3807.  
  3808. Break them out, eight bits at a time:
  3809.  
  3810.     00000011-00001001-00100111-01011100-00110111-01101101-
  3811.     00000011-00000000-0001
  3812.  
  3813. Reverse the bit-order:
  3814.  
  3815.     11000000-10010000-11100100-00111010-11101100-10110110-
  3816.     11000000-00000000-xxxx1000
  3817.  
  3818. The xxxx could be the first four bits from the next Huffman stream of data, 
  3819. or four additional 0s could be inserted on the other side of the 1, making the 
  3820. last byte 10000000. The final hex code for this line is:
  3821.  
  3822.     C0 90 E4 3A EC B6 C0 00 80
  3823.  
  3824.  
  3825. ==========================================================================
  3826. Appendix A
  3827. ITU-T T.4 Huffman Encoding
  3828.  
  3829.  
  3830. This appendix defines the T.4 Huffman encoding used in JT Fax.
  3831.  
  3832. Run 
  3833. Length    White Code        Black Code
  3834. ------------------------------------------------
  3835. 0000        00110101        0000110111
  3836. 0001        000111        010
  3837. 0002        0111            11
  3838. 0003        1000            10
  3839. 0004        1011            011
  3840. 0005        1100            0011
  3841. 0006        1110            0010
  3842. 0007        1111            00011
  3843. 0008        10011            000101
  3844. 0009        10100            000100
  3845. 0010        00111            0000100
  3846. 0011        01000            0000101
  3847. 0012        001000        0000111
  3848. 0013        000011        00000100
  3849. 0014        110100        00000111
  3850. 0015        110101        000011000
  3851. 0016        101010        0000010111
  3852. 0017        101011        0000011000
  3853. 0018        0100111        0000001000
  3854. 0019        0001100        00001100111
  3855. 0020        0001000        00001101000
  3856. 0021        0010111        00001101100
  3857. 0022        0000011        00000110111
  3858. 0023        0000100        00000101000
  3859. 0024        0101000        00000010111
  3860. 0025        0101011        00000011000
  3861. 0026        0010011        000011001010
  3862. 0027        0100100        000011001011
  3863. 0028        0011000        000011001100
  3864. 0029        00000010        000011001101
  3865. 0030        00000011        000001101000
  3866. 0031        00011010        000001101001
  3867. 0032        00011011        000001101010
  3868. 0033        00010010        000001101011
  3869. 0034        00010011        000011010010
  3870. 0035        00010100        000011010011
  3871. 0036        00010101        000011010100
  3872. 0037        00010110        000011010101
  3873. 0038        00010111        000011010110
  3874. 0039        00101000        000011010111
  3875. 0040        00101001        000001101100
  3876. 0041        00101010        000001101101
  3877. 0042        00101011        000011011010
  3878. 0043        00101100        000011011011
  3879. 0044        00101101        000001010100
  3880. 0045        00000100        000001010101
  3881. 0046        00000101        000001010110
  3882. 0047        00001010        000001010111
  3883. 0048        00001011        000001100100
  3884. 0049        01010010        000001100101
  3885. 0050        01010011        000001010010
  3886. 0051        01010100        000001010011
  3887. 0052        01010101        000000100100
  3888. 0053        00100100        000000110111
  3889. 0054        00100101        000000111000
  3890. 0055        01011000        000000100111
  3891. 0056        01011001        000000101000
  3892. 0057        01011010        000001011000
  3893. 0058        01011011        000001011001
  3894. 0059        01001010        000000101011
  3895. 0060        01001011        000000101100
  3896. 0061        00110010        000001011010
  3897. 0062        00110011        000001100110
  3898. 0063        001101000        00001100111
  3899. 0064        11011            0000001111
  3900. 0128        10010            000011001000
  3901. 0192        010111        000011001001
  3902. 0256        0110111        000001011011
  3903. 0320        00110110        000000110011
  3904. 0384        00110111        000000110100
  3905. 0448        01100100        000000110101
  3906. 0512        01100101        000000110110
  3907. 0576        01101000        000001101101
  3908. 0640        01100111        000000100100
  3909. 0704        011001100        000000100101
  3910. 0768        011001101        000000100110
  3911. 0832        011010010        000000100111
  3912. 0896        011010011        000000111000
  3913. 0960        011010100        000000111001
  3914. 1024        011010101        000000111010
  3915. 1088        011010110        000000111011
  3916. 1152        011010111        000000111010
  3917. 1216        011011000        000000111011
  3918. 1280        011011001        000000101000
  3919. 1344        011011010        000000101001
  3920. 1408        011011011        000000101010
  3921. 1472        010011000        000000101011
  3922. 1536        010011001        000000101100
  3923. 1600        010011010        000000101101
  3924. 1664        011000        000000110010
  3925. 1728        010011011        000000110011
  3926. EOL        000000000001    000000000001
  3927.  
  3928.  
  3929. ==========================================================================
  3930. Appendix B
  3931. Return Codes
  3932.  
  3933.  
  3934. The following paragraphs describe the correct time to read the RET_CODE 
  3935. field of the JT Fax API window.
  3936.  
  3937. When the PC is finished receiving data from the JT Fax board, then the JT Fax 
  3938. issues an EOT in the Command field. The JT Fax board sends a BOARD_ACK in 
  3939. the Command field when the transmission is complete. At this time the PC 
  3940. should read the RET_CODE field of the JT Fax API window. If the command 
  3941. field changes to an error, the RET_CODE is valid.
  3942.  
  3943. Some of the errors are fatal and some are operational. Fatal errors halt 
  3944. execution with an error flag while operational errors are less severe and 
  3945. will allow the Fax operation to continue. Operational errors are read at the 
  3946. end of a receive or transmit. Once an error occurs, Buffer area [0] can be 
  3947. checked for additional return code information. If available, the byte will be 
  3948. non-zero. Also, the status field can be checked to determine the state of the 
  3949. JT Fax.
  3950.  
  3951. The following paragraphs describe the JT Fax Return Codes.
  3952.  
  3953. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3954. RETURN_CODE: 00    MNEMONIC: SUCCESSFUL_TRANSMIT
  3955.  
  3956.     DESCRIPTION: A successful transmit occurred with no errors. This is a JT Fax
  3957.     compatibility code.
  3958.  
  3959.     RECOMMENDED ACTION: Fax was good.
  3960.  
  3961. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3962. RETURN_CODE: 01    MNEMONIC: NO_DIALTONE
  3963.  
  3964.     DESCRIPTION: A dial command was issued with either a 'W' dial modifier or a wait for
  3965.     dialtone in byte 0 of the dial string. Fatal error.
  3966.  
  3967.     RECOMMENDED ACTION: Check cable connections and redial.
  3968.  
  3969. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3970. RETURN_CODE: 02    MNEMONIC: NO_CARRIER
  3971.  
  3972.     DESCRIPTION: A complete connection was not established. A NO_CARRIER error
  3973.     appears after the dial and before the Phase A completion. JT Fax compatibility. Fatal
  3974.     error.
  3975.  
  3976.     RECOMMENDED ACTION: Check phone number and retry call. Try enabling enhanced
  3977.     mode to determine the exact cause of error.
  3978.  
  3979. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3980. RETURN_CODE: 03    MNEMONIC: BUSY
  3981.  
  3982.     DESCRIPTION: The called phone number was busy or a circuit was busy. Fatal error.
  3983.  
  3984.     RECOMMENDED ACTION: Retry call.
  3985.  
  3986. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3987. RETURN_CODE: 04    MNEMONIC: PC_COMM_ERROR
  3988.  
  3989.     DESCRIPTION: Invalid response or command while in command state. Fatal error.
  3990.  
  3991.     RECOMMENDED ACTION: Check Host for problems.
  3992.  
  3993. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3994. RETURN_CODE: 07    MNEMONIC: CLIP
  3995.  
  3996.     DESCRIPTION: An ASCII file was converted to T.4 data and a line was longer than 216
  3997.     bytes (including spaces and tabs). This error only occurs during a FILETYPE - ASCII
  3998.     conversion during transmit. The error does not cause an abort to the transmit.
  3999.     Operational error.
  4000.  
  4001.     RECOMMENDED ACTION: Continue with fax or terminate call with a SOFT_RESET.
  4002.     Modify file before retransmitting.
  4003.  
  4004. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4005. RETURN_CODE: 10    MNEMONIC: DIALING_ERROR
  4006.  
  4007.     DESCRIPTION: A dial command was issued and one of the characters in the dial string
  4008.     was invalid. Fatal error.
  4009.  
  4010.     RECOMMENDED ACTION: Check dial string and redial.
  4011.  
  4012. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4013. RETURN_CODE: 12    MNEMONIC: FONT_TOO_LARGE
  4014.  
  4015.     DESCRIPTION: The soft font file was too large for the soft font area. This error could
  4016.     also apply to the OEM code load. Fatal error.
  4017.  
  4018.     RECOMMENDED ACTION: Shorten soft font and retry.
  4019.  
  4020. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4021. RETURN_CODE: 19    MNEMONIC: TRANSMIT_PAGE_ERROR
  4022.  
  4023.     DESCRIPTION: Transmit page was not received correctly. Operational error.
  4024.  
  4025.     RECOMMENDED ACTION: Retry call. Check remote fax machine and/or telephone line..
  4026.  
  4027. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4028. RETURN_CODE: 20    MNEMONIC: PHASE_A_ERROR
  4029.  
  4030.     DESCRIPTION: The transmitted Fax was not received correctly. Operational error
  4031.  
  4032.     RECOMMENDED ACTION: Retry call. Call Hayes Customer Service.
  4033.  
  4034. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4035. RETURN_CODE: 21    MNEMONIC: NO_CNG_ERROR
  4036.  
  4037.     DESCRIPTION: No 1100 Hz CNG tone was detected from the Caller. If CNG detect is
  4038.     enabled this informs the user that a CNG was not detected. If CNG detect is not
  4039.     enabled then this error will not occur. Operational error.
  4040.  
  4041.     RECOMMENDED ACTION: Hang up the Fax call and use a voice connection.
  4042.  
  4043. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4044. RETURN_CODE: 30    MNEMONIC: PHASE_C_ERROR
  4045.  
  4046.     DESCRIPTION: This a general error for Phase C. Operational error.
  4047.  
  4048.     RECOMMENDED ACTION: Retry Call. Call Hayes Customer Support.
  4049.  
  4050. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4051. RETURN_CODE: 32    MNEMONIC: MAX_FRAME_ERR
  4052.  
  4053.     DESCRIPTION: The FAX handshake frame was too large for the JT Fax buffers. This is
  4054.     usually caused by a noisy line. Fatal error.
  4055.  
  4056.     RECOMMENDED ACTION: Check line and redial.
  4057.  
  4058. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4059. RETURN_CODE: 35    MNEMONIC: LONG_LINE_ERROR
  4060.  
  4061.     DESCRIPTION: An error occurred in the reception of data. A line was received and
  4062.     decoded as being to long. This only occurs if the line is noisy.
  4063.  
  4064.     RECOMMENDED ACTION: Check phone line and redial.
  4065.  
  4066. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4067. RETURN_CODE: 36    MNEMONIC: PERCENTAGE_ERROR
  4068.  
  4069.     DESCRIPTION: Percentage of data errors on receive versus the amount of correctly
  4070.     received data. Operational error.
  4071.  
  4072.     RECOMMENDED ACTION: Check line for connection or noise.
  4073.  
  4074. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4075. RETURN_CODE: 40    MNEMONIC: PHASE_D_ERROR
  4076.  
  4077.     DESCRIPTION: A response from the remote machine was not received after transmit
  4078.     during the required time. Operational error.
  4079.  
  4080.     RECOMMENDED ACTION: Check line for connection or noise.
  4081.  
  4082. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4083. RETURN_CODE: 60    MNEMONIC: DTMF_ERROR
  4084.  
  4085.     DESCRIPTION: A valid DTMF signal was not received. Operational error.
  4086.  
  4087.     RECOMMENDED ACTION: Check connection.
  4088.  
  4089. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4090. RETURN_CODE: 61    MNEMONIC: NO_DTMF_TIMEOUT_ERROR
  4091.  
  4092.     DESCRIPTION: A manual DTMF command was issued. The activity timer expired with no
  4093.     DTMF. Operational error.
  4094.  
  4095.     RECOMMENDED ACTION: Check connection and line noise.
  4096.  
  4097. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4098. RETURN_CODE: 62    MNEMONIC: VOICE_ERROR
  4099.  
  4100.     DESCRIPTION: An error occurred during the operation of a voice command. Fatal 
  4101.     error.
  4102.  
  4103.     RECOMMENDED ACTION: Retry voice operation.
  4104.  
  4105. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4106. RETURN_CODE: 122    MNEMONIC: HDLC_MIN_SIZE_ERROR
  4107.  
  4108.     DESCRIPTION: The HDLC frame of the T.30 handshake was shorter than expected.
  4109.     Invalid frame was received. Fatal error.
  4110.  
  4111.     RECOMMENDED ACTION: Check remote Fax.
  4112.  
  4113. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4114. RETURN_CODE: 123    MNEMONIC: HDLC_CRC_ERROR
  4115.  
  4116.     DESCRIPTION: The HDLC frame of the T.30 handshake did not have a good CRC. Fatal
  4117.     error.
  4118.  
  4119.     RECOMMENDED ACTION: Check line for noise and check remote fax. Retry call.
  4120.  
  4121. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4122. RETURN_CODE: 124    MNEMONIC: NEGOTIATING_TRAIN_DCN_ERROR
  4123.  
  4124.     DESCRIPTION: A DCN was received while the Fax was negotiating speed. Fatal error.
  4125.  
  4126.     RECOMMENDED ACTION: Check line for noise and check remote Fax. Retry call.
  4127.  
  4128. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4129. RETURN_CODE: 125    MNEMONIC: HDLC_FRAME_TIMOUT_ERROR
  4130.  
  4131.     DESCRIPTION: A time-out occurred while waiting for the HDLC T.30 handshake. Fatal
  4132.     error.
  4133.  
  4134.     RECOMMENDED ACTION: Check line for noise and check remote Fax. Retry call.
  4135.  
  4136. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4137. RETURN_CODE: 126    MNEMONIC: NO_DCS_REC
  4138.  
  4139.     DESCRIPTION: A DCS was not received from the caller. Caused by equipment
  4140.     malfunction at remote site. Fatal error.
  4141.  
  4142.     RECOMMENDED ACTION: Check remote fax and redial.
  4143.  
  4144. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4145. RETURN_CODE: 128    MNEMONIC: BAD_DIS_REC
  4146.  
  4147.     DESCRIPTION: A DIS received from the callee was in error. Possible remote equipment
  4148.     problems. Fatal error.
  4149.  
  4150.     RECOMMENDED ACTION: Check remote fax and redial.
  4151.  
  4152. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4153. RETURN_CODE: 129    MNEMONIC: BAD_TRAINING
  4154.  
  4155.     DESCRIPTION: An error occurred during the training phase of the call. Line 
  4156.     quality does not support speeds available. Fatal error.
  4157.  
  4158.     RECOMMENDED ACTION: Check remote fax, phone line and redial.
  4159.  
  4160. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4161. RETURN_CODE: 130    MNEMONIC: PHASE_B_ERROR
  4162.  
  4163.     DESCRIPTION: An error occurred during the negotiation phase of the call. This 
  4164.     could be a failure to negotiate parameters. Fatal error.
  4165.  
  4166.     RECOMMENDED ACTION: Check type of remote fax and redial.
  4167.  
  4168. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4169. RETURN_CODE: 131    MNEMONIC: BAD_MPS_RESPONSE
  4170.  
  4171.     DESCRIPTION: In Phase D the negotiation for Multiple pages was in error. 
  4172.     Operational error.
  4173.  
  4174.     RECOMMENDED ACTION: Check remote fax and redial.
  4175.  
  4176. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4177. RETURN_CODE: 132    MNEMONIC: BAD_MCF_RESPONSE
  4178.  
  4179.     DESCRIPTION: A message confirmation after training did not occur. Fatal error.
  4180.  
  4181.     RECOMMENDED ACTION: Check remote fax and redial.
  4182.  
  4183. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4184. RETURN_CODE: 133    MNEMONIC: BAD_DCS_RESPONSE
  4185.  
  4186.     DESCRIPTION: A bad response from the DCS message caused this error. Fatal error.
  4187.  
  4188.     RECOMMENDED ACTION: Check remote fax and redial.
  4189.  
  4190. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4191. RETURN_CODE: 134    MNEMONIC: PHASE_D_ERROR
  4192.  
  4193.     DESCRIPTION: An error occurred during the operation of a voice command. 
  4194.     Fatal error.
  4195.  
  4196.     RECOMMENDED ACTION: Check phone line and redial.
  4197.  
  4198. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4199. RETURN_CODE: 135    MNEMONIC: NO_PC_ACK
  4200.  
  4201.     DESCRIPTION: A PC_ACK was not received in response to the LOAD_DATA_COMMAND.
  4202.     A 5 sec time-out error to the host. Operational error.
  4203.  
  4204.     RECOMMENDED ACTION: Fax may have errors.
  4205.  
  4206. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4207. RETURN_CODE: 136    MNEMONIC: NO_DATA_RECEIVED
  4208.  
  4209.     DESCRIPTION: No data was received from the remote fax. Caused by a line drop or the
  4210.     remote fax abnormally terminated the call.
  4211.  
  4212.     RECOMMENDED ACTION: Check phone line.
  4213.  
  4214. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4215. RETURN_CODE: 137    MNEMONIC: PAGE_ERROR 
  4216.  
  4217.     DESCRIPTION: Page data was received in error from the remote fax. 
  4218.  
  4219.     RECOMMENDED ACTION: Check phone line.
  4220.  
  4221. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4222. RETURN_CODE: 138    MNEMONIC: SUCCESSFUL_RECEIVE
  4223.  
  4224.     DESCRIPTION: Fax was received successfully.
  4225.  
  4226.     RECOMMENDED ACTION: Ready for next fax transaction.
  4227.  
  4228. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4229. RETURN_CODE: 243    MNEMONIC: ROCK_ERROR
  4230.  
  4231.     DESCRIPTION: This error indicates that the Rockwell chip is not responding. 
  4232.     Operational error.
  4233.  
  4234.     RECOMMENDED ACTION: Turn off power and reinstall the board. If this does not
  4235.     correct the problem, contact Hayes Customer Service.
  4236.  
  4237.  
  4238. ==========================================================================
  4239. Appendix C
  4240. Status Codes
  4241.  
  4242.  
  4243. Status codes do not require a response from the Host. The code will reflect 
  4244. the state of the JT Fax 14400B Dual. It is not necessary to issue a PC_ACK 
  4245. command when receiving the status notification. However, the IDLE command 
  4246. in the Status Code field is recommended because it incorporates a more 
  4247. fault-tolerant coding algorithm. Status codes may be used to provide 
  4248. additional information during a fax call procedure.
  4249.  
  4250. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4251. STATUS CODE: 01    MNEMONIC: RING
  4252.  
  4253.     DESCRIPTION: A ring was detected during the dialing of number.
  4254.  
  4255. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4256. STATUS CODE: 02    MNEMONIC: SUBSCRIBER_INFO
  4257.  
  4258.     DESCRIPTION: CSI/TSI info is available in the buffer area.
  4259.  
  4260. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4261. STATUS CODE: 0E    MNEMONIC: PHASE_E_START
  4262.  
  4263.     DESCRIPTION: Start of T.30 Phase E.
  4264.  
  4265. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4266. STATUS CODE: 10    MNEMONIC: PHASE_A_START
  4267.  
  4268.     DESCRIPTION: Phase A begins call establishment.
  4269.  
  4270. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4271. STATUS CODE: 11    MNEMONIC: PHASE_B_START
  4272.  
  4273.     DESCRIPTION: Phase B starts the initial negotiation of speed and format.
  4274.  
  4275. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4276. STATUS CODE: 12    MNEMONIC: PHASE_C_START
  4277.  
  4278.     DESCRIPTION: Start of Phase C for fax transmission.
  4279.  
  4280. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4281. STATUS CODE: 13    MNEMONIC: PHASE_D_START
  4282.  
  4283.     DESCRIPTION: Start of Phase D and post message handling.
  4284.  
  4285. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4286. STATUS CODE: 20    MNEMONIC: NEGOTIATING_SPEED
  4287.  
  4288.     DESCRIPTION: Speed negotiation is occurring during Phase B.
  4289.  
  4290. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4291. STATUS CODE: 21    MNEMONIC: CONNECT
  4292.  
  4293.     DESCRIPTION: Indicates that all handshaking is complete and fax data will be
  4294. transmitted.
  4295.  
  4296. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4297. STATUS CODE: 22    MNEMONIC: VOICE_MODE
  4298.  
  4299.     DESCRIPTION: Notification of automatic voice mode is entered.
  4300.  
  4301.  
  4302. ==========================================================================
  4303. Appendix D
  4304. T.30 Phase Descriptions
  4305.  
  4306.  
  4307. Fax communication occurs in phases. As defined by the ITU-T the phases 
  4308. are:
  4309.  
  4310. ----------------------------------------
  4311. Phase A    Call Establishment
  4312. Phase B    Pre-message Procedure
  4313. Phase C    In-message Procedure
  4314. Phase D    Post Message Procedure
  4315. Phase E    Call Release
  4316.  
  4317. The following sections describe the phases as they relate to the JT Fax 
  4318. 14400B Dual in the default configuration.
  4319.  
  4320.  
  4321. **************************************************************************
  4322. Phase A
  4323. The calling fax (caller) goes "off hook" and listens for dialtone. After 
  4324. dialtone has been detected, dialing the phone number starts. The dialing call 
  4325. progress includes the detection of the ring and busy signals. In addition to the 
  4326. call progress, the T.30 1100-Hz CNG tone is transmitted with a cycle time 
  4327. of 0.5 seconds on and 3 seconds off. Transmission of the CNG cycle continues 
  4328. until the receiving fax (callee) transmits a T.30 2100 Hz CED. Once the CED 
  4329. is detected, the caller waits for a silent period. The silent period terminates 
  4330. Phase A for the caller.
  4331.  
  4332. The callee detects a "ring" signal and goes to off-hook. 1.8 
  4333. seconds after going "off hook", the callee transmits the 2100-Hz CED for 2.8 
  4334. seconds. The ending of the CED terminates Phase A for the callee.
  4335.  
  4336.  
  4337. **************************************************************************
  4338. Phase B
  4339. After a silent period of 75 milliseconds the receiver transmits a CSI, NSF and a 
  4340. DIS frame. The DIS frame contains the negotiating parameters. Once the DIS 
  4341. is transmitted, the receiver looks for a response from the caller. During a 3.5 
  4342. second time-out period, the receiver receives a DCS frame from the caller. 
  4343. Once a mode has been selected from the DCS frame, the caller transmits a 
  4344. training sequence 75 milliseconds later. If the training sequence is within 
  4345. error parameters, the receiver transmits a TCF. The TCF marks the end of 
  4346. Phase B for the receiver.
  4347.  
  4348. The caller detects a silent period and starts the pre-message handshake. The 
  4349. handshake begins with the reception of the DIS frame. After the reception of 
  4350. the DIS frame, the TSI and DCS frames are transmitted. The caller sends a 
  4351. training signal for 75 milliseconds after sending the DCS frame. The training 
  4352. signal has a duration of 1.5 seconds. If the signal was received without 
  4353. errors by the receiver, a CFR frame is received. The reception of the CFR 
  4354. frame marks the end of Phase B for the caller.
  4355.  
  4356.  
  4357. **************************************************************************
  4358. Phase C
  4359. The caller transmits the Fax message 75 milliseconds after the CFR. The 
  4360. format of the message is T.4 Huffman encoded data. A RTC sequence will be 
  4361. sent at the end of the page to signal the receiver to transition into Phase D.
  4362.  
  4363. The receiver receives the Fax message and examines the T.4 codes for errors. 
  4364. A "TIC" mark will be printed in the left most column to signify a line error. 
  4365. When a RTC is received, the receiver transitions into Phase D.
  4366.  
  4367.  
  4368. **************************************************************************
  4369. Phase D
  4370. The caller transmits one of the following:
  4371.  
  4372. Ñ    EOM
  4373. Ñ    MPS to start the procedure to re-enter Phase C
  4374. Ñ    EOP frame to proceed to Phase E. 
  4375.  
  4376. After receipt of a MCF from the receiver, the caller goes to either Phase E or 
  4377. re-enters Phase C. To re-enter Phase C, the caller transmits another train 
  4378. sequence. The caller looks for a confirmation of the retrain in the form of a 
  4379. RTP frame. Once an RTP is received, the caller re-enters Phase C. Exiting to 
  4380. Phase E requires only the reception of a MCF.
  4381.  
  4382. The receiver waits for a EOM, MPS or EOP frame. Upon receiving a MPS or EOM 
  4383. frame, the receiver transmits a MCF. After transmitting the MCF frame, the 
  4384. receiver looks for a training signal. If the signal is within error limits, the 
  4385. receiver transmits a CFR. Transmitting the CFR marks the end of Phase D and 
  4386. the receiver re-enters Phase C. If an EOP frame was received, the receiver 
  4387. transmits a MCF and proceeds to Phase E.
  4388.  
  4389.  
  4390. **************************************************************************
  4391. Phase E
  4392. The caller sends a DCN frame to the receiver and disconnects the telephone line.
  4393.  
  4394. The receiver waits for the reception of a DCN frame. After receiving a DCN, the 
  4395. receiver disconnects the telephone line.
  4396.  
  4397.  
  4398. ==========================================================================
  4399. Appendix E
  4400. Buffer Area Layout
  4401.  
  4402.  
  4403. The BUFFER_AREA is a multipurpose area used in several commands. The 
  4404. following chart defines the buffer area during different stages of a Fax 
  4405. operation.
  4406.  
  4407. Operation                Layout
  4408. --------------------------------------------------------------------------------
  4409. XMIT - TelephoneNumber        BYTE 0 - 60 used for phone number.
  4410. XMIT - Header            BYTE 0 - 19 used for TSI/CSI information
  4411.                     (optional if TSI/CSI command used)
  4412.                     Ñ    BYTE 55 used for page number;
  4413.                         followed by space
  4414.                     Ñ    BYTE 56-58 padded with spaces.
  4415.  
  4416. All other operations require the following: 
  4417.  
  4418.     BYTE         0 location
  4419.     WORD     0 - 1 location in INTEL Format
  4420.     LONG         0 - 3 location in INTEL Format
  4421.  
  4422. The buffer area is also used to transmit default CSI/TSI information. A zero 
  4423. in buffer [0] prohibits the buffer area CSI/TSI data from being transmitted.
  4424.  
  4425.  
  4426. ==========================================================================
  4427. Appendix F
  4428. OEM Code Guidelines
  4429.  
  4430. JT Fax provides a method to off-load code from the Server and run the code 
  4431. in the JT Fax while JT Fax is idle. Use the following guidelines to offload 
  4432. code: 
  4433.  
  4434. 1.    The code must be in 8088 assembly language.
  4435. 2.    Code segment must be 0H.
  4436. 3.    Stack frame and registers must be preserved.
  4437. 4.    Code size including data must not be greater than 28 KB.
  4438. 5.    The starting address for code must be 0:8800H.
  4439. 6.    Soft fonts are not available while using OEM code. 
  4440. 7.    Upon entry into OEM code the following registers contain values
  4441.  
  4442.     es:    Points to the JT Fax code segment
  4443.     ax:    Points to the OEM entry point for executing JT Fax commands
  4444.     bx:     Points to timer service routine for user timers
  4445.     cx:     Points to the OEM exit point
  4446.     ss:     Points to Stack Segment
  4447.     sp:     Points to Stack pointer.
  4448.  
  4449. 8.    Code must be in binary form.
  4450. 9.    Timer interrupts continue to run.
  4451.  
  4452.  
  4453. ==========================================================================
  4454. Appendix G
  4455. Command Codes
  4456.  
  4457.  
  4458. The following chart presents the JT Fax commands in numerical order by 
  4459. command code.
  4460.  
  4461.     Code        Command
  4462.     ---------------------------------------------
  4463.     00H         IDLE_STATUS
  4464.     01H         XMIT_COMMAND
  4465.     02H         BOARD_ACK_STATUS 
  4466.     03H         LOAD_DATA_COMMAND
  4467.     04H         LOAD_FONT_COMMAND
  4468.     05H         PC_ACK 
  4469.     06H         ERRFLAG 
  4470.     08H         EOPFLAG 
  4471.     0FH         EOTFLAG 
  4472.     10H         MANUAL_REC_COMMAND 
  4473.     10H         RECVINIT 
  4474.     20H         SET_CARRIER_COMMAND 
  4475.     21H         STATUS_COMMAND 
  4476.     22H         REC_PCX_ON_COMMAND 
  4477.     23H         REC_PCX_OFF_COMMAND 
  4478.     24H         ON_HOOK_COMMAND
  4479.     25H         OFF_HOOK_COMMAND 
  4480.     26H         FAX_MODE_COMMAND 
  4481.     27H         MODEM_MODE_COMMAND 
  4482.     28H         DTMF_ON_COMMAND
  4483.     29H         DTMF_OFF_COMMAND 
  4484.     2AH         DTMF_ON_TIME_COMMAND
  4485.     2BH         DTMF_OFF_TIME_COMMAND 
  4486.     2CH         DTMF_DIAL_COMMAND
  4487.     2DH         PULSE_DIAL_COMMAND 
  4488.     2EH         NO_BUSY_COMMAND
  4489.     2FH         BUSY_COMMAND
  4490.     30H         HARDWARE_RESET_COMMAND 
  4491.     31H         SOFTWARE_RESET_COMMAND 
  4492.     32H         PULSE_INTER_COMMAND 
  4493.     33H         RESET_DATA_PUMP
  4494.     34H         CNG_ON_COMMAND
  4495.     35H         CNG_OFF_COMMAND
  4496.     36H         CED_ON_COMMAND 
  4497.     37H         CED_OFF_COMMAND
  4498.     3AH         PULSE_BREAK_COMMAND 
  4499.     3BH         PULSE_MAKE_COMMAND 
  4500.     3EH         SPEAKER_ON_COMMAND 
  4501.     3FH         SPEAKER_OFF_COMMAND 
  4502.     4EH         EXTEND_STATUS_ON _COMMAND
  4503.     4FH         EXTEND_STATUS_OFF_COMMAND
  4504.     50H         FAX_144_MODE_ON_COMMAND
  4505.     51H         FAX_144_MODE_OFF_COMMAND
  4506.     52H         ENHANCED_MODE_ON _COMMAND
  4507.     53H         ENHANCED_MODE_OFF_COMMAND
  4508.     54H         SET_USER_TSI_COMMAND
  4509.     55H         SET_USER_CSI_COMMAND
  4510.     5FH         SETUP_VOICE_COMMAND 
  4511.     60H         CNG_DETECT_ON_COMMAND 
  4512.     61H         CNG_DETECT_OFF_COMMAND 
  4513.     62H         PLAY_START_COMMAND 
  4514.     63H         PLAY_END_COMMAND 
  4515.     64H         REC_START_COMMAND
  4516.     65H         REC_STOP_COMMAND 
  4517.     66H         EOVFLAG
  4518.     67H         GAIN_UP_COMMAND
  4519.     68H         GAIN_DOWN_COMMAND
  4520.     69H         SET_GAIN_COMMAND 
  4521.     6AH         SET_SAMPLE_RATE_COMMAND
  4522.     6BH         SET_SLEW_RATE_COMMAND 
  4523.     6CH         SILENCE_DETECTED_STATUS
  4524.     6FH         SET_ACT_TIMER_COMMAND 
  4525.     70H         DTMF_DETECT_STATUS 
  4526.     71H         RETURN_TO_DATA_COMMAND 
  4527.     72H         RETURN_TO_COMMAND
  4528.     73H         DTMF_DETECT_ON_COMMAND 
  4529.     74H         DTMF_DETECT_OFF_COMMAND
  4530.     75H         GET_DTMF_COMMAND 
  4531.     76H         EODFLAG
  4532.     77H        ONLINE_VOICE_REC_ON_COMMAND
  4533.     78H        ONLINE_VOICE_REC_OFF_COMMAND
  4534.     79H         OEM_CODE_COMMAND 
  4535.     7AH         OEM_LOAD_COMMAND 
  4536.     0F0H         GOOD_INIT
  4537.     0F1H         BAD_RAM 
  4538.     0F2H         BAD_ROM
  4539.     0FFH        BOARD_SYNC_COMMAND
  4540.  
  4541.  
  4542. ==========================================================================
  4543. Appendix H
  4544. References
  4545.  
  4546.  
  4547. CCITT Blue Book, Volume VII - Facscicle VII.3, "Terminal Equipment and Protocols for
  4548.  Telematic Services", Recommendations T.0-T.63, IXth Plenary Assembly, Melbourne, 
  4549. November 14-25,1988.
  4550.  
  4551. Rockwell R144EFX bps MONOFAX Modem Designers Guide, Document No. 29800N46, 
  4552. November 1990.
  4553.  
  4554. FAX, "Digital Facsimile Technology and Applications", McConnell, Bodson and Schaphorst, 
  4555. Second Edition, Artech House, Norwood, MA, 1992.
  4556.  
  4557.  
  4558. ==========================================================================
  4559. Appendix I
  4560. Hayes Customer Service
  4561.  
  4562.  
  4563. To obtain Warranty/Guarantee Service, call or write to the appropriate Hayes Customer Service 
  4564. location listed below for a return authorization number, and then return the product to that location 
  4565. along with (a) the return authorization number, (b) proof of date of purchase, and (c) your mailing 
  4566. address and telephone number, postage prepaid.
  4567.  
  4568. Please note that if the product is returned without proof of purchase or after the expiration of the 
  4569. warranty/guarantee coverage period, Hayes will, at its option, repair or replace the product and charge 
  4570. you the then effective Hayes price for out-of-warranty/guarantee service of the product, unless Hayes 
  4571. has discontinued the manufacture or distribution of the product because of technical obsolescence.
  4572.  
  4573. Americas Region    Hayes Microcomputer Products, Inc.
  4574. Attention: Customer Service
  4575. P.O. Box 105203
  4576. Atlanta, Georgia 30348-5203
  4577. Telephone: (404) 441-1617 Telefax: (404) 449-0087
  4578. Telex: 703500 HAYES USA
  4579. Online with Hayes BBS: (404) HI-MODEM or (800) US-HAYES and
  4580. Hayes forums on CompuServe (GO HAYES) and GEnie information
  4581. services.
  4582.  
  4583. Note: If the carrier requires a street address, direct returns to the following address:
  4584.  
  4585. Hayes Microcomputer Products, Inc.
  4586. Attention: Customer Service
  4587. 5953 Peachtree Industrial Blvd.
  4588. Norcross, Georgia 30092
  4589.  
  4590. Asia Region    Hayes Microcomputer Products, Inc.
  4591. 39/F, Unit B, Manulife Tower
  4592. 169 Electric Road, North Point, Hong Kong
  4593. Telephone + 852 887-1037, Telefax + 852 887-7548
  4594. Telex: 69381 HAYES HX
  4595. Online with Hayes BBS: + 852 887-7590
  4596.  
  4597. Note: This version of the "JT Fax 14400B Dual Application Developer's Guide" is a
  4598. special version edited for bulletin-board downloading. As a plain ASCII
  4599. character file, it therefore cannot contain any of the graphic elements
  4600.  provided in the printed version.
  4601.  
  4602. The following graphic characters are used to denote the start of Chapters,
  4603. 1st Level Headings, 2nd Level Headings, and Table Headings:
  4604.  
  4605. Chapter Headings are preceded by:
  4606. ==========================================================================
  4607.  
  4608. 1st Level Headings are preceded by:
  4609. **************************************************************************
  4610.  
  4611. 2nd Level Headings are preceded by:
  4612. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4613.  
  4614. Table Headings are separated from table listings by:
  4615. -----------------------------------------------------------------------------
  4616.  
  4617. =============================================================================
  4618. CHANGE RECORD:
  4619.  
  4620.         Original
  4621.  
  4622.  
  4623. ==========================================================================
  4624. Chapter 1
  4625. Introduction
  4626.  
  4627.  
  4628. The Hayes JT Fax 14400B Dual is a board level Fax product developed specially 
  4629. for "high end" server environments where throughput is a major concern. 
  4630. The JT Fax 14400B Dual contains two independent 14.4 KBPS Group 3-compatible 
  4631. fax modems, providing an interface directly to the PC ISA bus. Both fax modems 
  4632. interface to the host software at the speed of the ISA bus specification (i.e., 4-8 
  4633. MHz). Data transfer between JT Fax and the host software can occur at the 
  4634. MBPS rate. In comparison, most serial based facsimile units can only transfer 
  4635. data in the KBPS range. Considering speed alone, the JT Fax 14400B Dual is ideal 
  4636. for server applications. 
  4637.  
  4638. Additional functionality is added to decrease the burden on the application 
  4639. software and thus the host computer. These features include:
  4640.  
  4641. Ñ    automatic T.4 encoding and T.30 handshakes
  4642. Ñ    receive Fax real time T.4 to PCX type 3 conversion
  4643. Ñ    Fax speeds of 2400 to 14400 BPS
  4644. Ñ    digital voice transmit and receive record/playback
  4645. Ñ    DTMF transmit and detection.
  4646.  
  4647. The JT Fax 14400B Dual is designed with a simple high-speed interface. The 
  4648. interface does not require that the application developer know T.4 encoding or 
  4649. T.30 handshake protocols for ITU-T (formerly CCITT) Group 3 facsimiles. The 
  4650. JT Fax 14400B Dual is capable of performing all the encoding and decoding 
  4651. required to complete a fax call. However, if the application developer is 
  4652. comfortable with the encoding and decoding of the T.4 formatted data, the JT 
  4653. Fax 14400B Dual is versatile enough to handle this encoded data.
  4654.  
  4655. This Application Developer╒s Guide describes the programming procedure that 
  4656. comprises the JT Fax 14400B Dual Application Programming Interface (API). A 
  4657. list of the functions is provided along with the necessary procedure to 
  4658. implement the functions. Throughout, the guide presents example routines 
  4659. using the elements of the functions to assist the programmer with the 
  4660. application. Included in Appendix G is a quick reference guide of the Command 
  4661. Codes indexed by alphabetical listings and by numeric listing. Also available 
  4662. with the JT Fax 14400B Dual is the developers toolkit, which contains working 
  4663. Fax software with source code. Familiarity with "C" and assembly language is 
  4664. required to use the toolkit. Contact Hayes Customer Service for information 
  4665. about obtaining the JT Fax Toolkit.
  4666.  
  4667. Distinction: JT Fax 14400B Dual is the product described in this Guide. JT Fax is a standard technology in the PC fax industry. The term fax refers to the facsimile technology.
  4668.  
  4669.  
  4670. **************************************************************************
  4671. Manual Organization
  4672. This Application Developer's Guide is arranged as follows:
  4673.  
  4674. This Application/Developers Guide is arranged as follows:
  4675.  
  4676. Chapter 1    Introduction describes the product features and the contents of 
  4677. the remainder of this Guide.
  4678.  
  4679. Chapter 2    Theory of Operation briefly presents the hardware and firmware 
  4680. used to develop the JT Fax 14400B Dual.
  4681.  
  4682. Chapter 3    JT Fax Toolbox describes the concepts, constructs, and structures 
  4683. necessary to develop API software for the JT Fax 14400B Dual.
  4684.  
  4685. Chapter 4    Voice and DTMF Detect describes the voice and DTMF operating 
  4686. modes available with the JT Fax 14400B Dual.
  4687.  
  4688. Chapter 5    Command Reference presents an alphabetical listing of all 
  4689. command codes available in the JT Fax API.
  4690.  
  4691. Chapter 6    Shared Memory Interface Description introduces functions, 
  4692. status codes, return codes and data that is passed through the Shared Memory 
  4693. Interface.
  4694.  
  4695. Chapter 7    File Formats describes the JT Fax file conversion formats.
  4696.  
  4697. Appendix A    ITU-T T.4 Huffman Encoding describes the T.4 Huffman 
  4698. Encoding process used by JT Fax.
  4699.  
  4700. Appendix B    Return Codes describes the timing JT Fax requires to read a return 
  4701. code. The appendix also includes a summary of the JT Fax Return Codes.
  4702.  
  4703. Appendix C    Status Codes provides a summary of the JT Fax Status Codes.
  4704.  
  4705. Appendix D    T.30 Phase Descriptions describes fax call processing techniques 
  4706. used by JT Fax.
  4707.  
  4708. Appendix E    Buffer Area Layout describes the Buffer Area used by several of 
  4709. the JT Fax commands.
  4710.  
  4711. Appendix F    OEM Code Guidelines defines the methodology JT Fax employs to 
  4712. offload code from a fax server.
  4713.  
  4714. Appendix G    Command Codes provides a complete listing of the JT Fax Command 
  4715. Codes in numerical order.
  4716.  
  4717. Appendix H    References lists references used in the development of the 
  4718. product.
  4719.  
  4720. Glossary    Glossary defines terms used in this guide.
  4721.  
  4722. **************************************************************************
  4723. Definitions
  4724. The following terms are used in this documentation:
  4725.  
  4726. Term        Definition
  4727. --------------------------------------------------------------------
  4728. Host         The Program written to interface with the JT Fax
  4729. JT Fax, Fax    The JT Fax 14400B Dual board
  4730. API        Application Programming Interface
  4731. API Block    Shared memory window
  4732. BPS        Bits per second
  4733. WORD        2 bytes
  4734. LONG        4 bytes
  4735.  
  4736. Additional definitions are listed in the Glossary.
  4737.  
  4738.  
  4739. ==========================================================================
  4740. Chapter 2
  4741. Theory of Operation 
  4742.  
  4743.  
  4744. The JT Fax 14400B Dual board includes two, 14400-baud, Group 3 facsimile 
  4745. modems with voice and DTMF capabilities. The facsimile modems are divided 
  4746. into two independent and separate parts, Fax A and Fax B. Each Fax has an 
  4747. independent processor, PC address interface, data pump and telephone line 
  4748. interface (TELCO) section. Both modems share a single PC bus interface and a 
  4749. speaker connection. The speaker volume is controlled by a potentiometer on 
  4750. the back of the unit. Speaker on/off controls are available for both FAX A and 
  4751. B through functions.
  4752.  
  4753. Fax A has the additional feature of a microphone jack. The microphone jack is 
  4754. provided for voice messaging applications.
  4755.  
  4756. **************************************************************************
  4757. Shared Memory Interface - API Block
  4758. The JT Fax interfaces to the PC through a shared memory interface. Access to 
  4759. the shared memory API Block is accomplished by two steps. 
  4760.  
  4761. Step 1:    Set the memory base address set with the DIP switch (see the 
  4762. Hayes JT Fax 14400B Dual Installation Guide) on the JT Fax 14400B Dual board. 
  4763.  
  4764. Step 2:    Scan the memory between addresses 640k and 1M for the keyword 
  4765. "ASHER". Once the keyword is found, the keyword address marks the 
  4766. beginning memory address of the JT Fax API Block.
  4767.  
  4768. The memory address is "blocked out" in a 4 Kb section. The starting address is 
  4769. Fax A. Fax A utilizes the first 2 Kb for an API Block. The adjacent 2K of memory 
  4770. is allocated to Fax B's API Block.
  4771.  
  4772. The shared memory interface requires no interrupt vectors to the PC, no serial 
  4773. port, and no drivers. The application communicates with the JT Fax shared 
  4774. memory using a polled interface method. Polling activation and frequency is 
  4775. host dependent and is determined by the application.
  4776.  
  4777. The handshake required to communicate with JT Fax 14400B Dual utilizes the JT 
  4778. Fax protocol structure. The JT Fax protocol is an ACK-ACK type protocol. All data 
  4779. and commands use this protocol. Chapter 5 provides protocol examples for each 
  4780. command.
  4781.  
  4782. The API Block contains memory windows for command protocol, control, 
  4783. configuration, and data. The Shared Memory Interface (see Chapter 6) details 
  4784. the API block. The API block's most important asset is the 1960 byte buffer for 
  4785. transmitting and receiving fax data. This allows additional time for the host to 
  4786. perform other activities. In addition, the JT Fax has a 9K buffer for transmitting
  4787. and receiving Fax data.
  4788.  
  4789. The transmit and receive capability of the JT Fax 14400B Dual board offers two 
  4790. modes of operation for the host: Manual and Automatic. Manual requires the 
  4791. host to start the initial call/answer procedure by issuing commands that force 
  4792. the Fax into the "off-hook" condition. The remainder of the call/answer is 
  4793. automatic.
  4794.  
  4795. In the Automatic procedure, the call/answer is handled by issuing the 
  4796. appropriate transmit and receive commands. The "off-hook" condition is 
  4797. controlled by the Fax.
  4798.  
  4799.  
  4800. **************************************************************************
  4801. Transmitting
  4802. Transmitting with the JT Fax 14400B Dual is straight-forward since the modem 
  4803. automatically executes the T.4 and T.30 handshake. The host is only responsible 
  4804. for the phone number, data to be transmitted, and the simple handshake 
  4805. protocol to JT Fax and the host. 
  4806.  
  4807. The following is a high level Program Design Language (PDL) example 
  4808. demonstrating a transmit.
  4809.  
  4810.     send SYNC_COMMAND        (only after power up )
  4811.     wait for response
  4812.         GOOD_INIT
  4813.     write to configure API block
  4814.     write phone number in BUFFER_AREA
  4815.     send XMIT_COMMAND
  4816.     wait for response 
  4817.         BOARD_ACK_STATUS
  4818.     write header information into BUFFER_AREA
  4819.     send PC_ACK
  4820.     wait for response LOAD_DATA_COMMAND
  4821.     write data to DATA_AREA
  4822.     send PC_ACK
  4823.     continue to write data till END_OF_FILE is reached
  4824.     send EOT_FLAG
  4825.     wait for response BOARD_ACK_STATUS
  4826.     check ret_code
  4827.         TRANSMIT_SUCCESSFUL
  4828.     send PC_ACK
  4829.  
  4830. A C programming language example of the transmit procedure can be found 
  4831. in the JT Fax Toolkit found on the Online with Hayes BBS in the file JT_TX.C.
  4832.  
  4833. The JT Fax 14400B Dual can have a manual dial if required. The host is required 
  4834. to dial the telephone number and place an "M" in the first byte of the 
  4835. automatic dial string. The "M" tells the JT Fax not to dial a telephone number. The 
  4836. JT Fax continues with the standard call progress. The manual handshake is 
  4837. identical to the automatic handshake.
  4838.  
  4839.  
  4840. *****************************************************************************
  4841. Receiving
  4842. The receive procedure for JT Fax 14400B Dual requires the host to monitor the 
  4843. Fax for an indication of a call. The host sets the number of rings to allow 
  4844. before answering in the RING_COUNT field of the API block. Answering the 
  4845. call and T.30 handshakes are automatic. Once the RING_COUNT is matched, the 
  4846. host receives a RECVINIT in the COMMAND field. The RECVINIT is the 
  4847. notification that an incoming call is being answered.
  4848.  
  4849. After the receiver initializes, the Fax issues a LOAD_DATA_COMMAND. The host 
  4850. should retrieve the data and respond with a PC_ACK. The same handshake 
  4851. continues until the last byte of data for the page or a transmission. To end 
  4852. transmission, the Fax issues an EOT command to the host. The EOT command 
  4853. concludes the handshake for the receive.
  4854.  
  4855. The following is a PDL example demonstrating a fax receive:
  4856.  
  4857.     send SYNC_COMMAND        ( only after power up )
  4858.     wait for response
  4859.         RECVINIT
  4860.     send PC_ACK 
  4861.     wait for response
  4862.         LOAD_DATA_COMMAND
  4863.     retrieve data from DATA_AREA
  4864.     send PC_ACK
  4865.     continue procedural handshake until response
  4866.         EOT_FLAG
  4867.     retrieve data from DATA_AREA    
  4868.     send PC_ACK
  4869.     wait for response
  4870.         BOARD_ACK_STATUS
  4871.     check RET_CODE
  4872.         SUCCESSFUL_RECEIVE
  4873.     send PC_ACK
  4874.     
  4875. A C programming language example of the receive procedure can be found 
  4876. in the JT Fax Toolkit found on the Online with Hayes BBS under the file JT_RX.C.
  4877.  
  4878. The manual receive allows the host to determine when and if the call will be 
  4879. answered. Rings are detected by an outside source or by the extended status 
  4880. code "RING". When the required number of rings is reached, the host issues 
  4881. the MANUAL_RECEIVE_COMMAND.
  4882.  
  4883. Note: To disable automatic detection, it is required to set RING_COUNT to 0FH. 
  4884.  
  4885. The remaining receive handshake procedure is identical to the automatic 
  4886. answer mode.
  4887.  
  4888.  
  4889. ==========================================================================
  4890. Chapter 3
  4891. JT Fax Toolbox
  4892. This section establishes the concepts, constructs, and structures necessary to 
  4893. develop API software. The items in capital letters are the specific functions 
  4894. whose corresponding command values are found in the JT Fax 14400B 
  4895. command set in Chapter 5.
  4896.  
  4897.  
  4898. The JT Fax 14400B Dual uses two contiguous memory blocks, each of which is 2K 
  4899. bytes long. The API Blocks, functions, return codes and status codes are 
  4900. discussed in separate sections of this Guide. In those Chapters, individual items 
  4901. are in alphabetical order for convenience. In the following sections, the items 
  4902. are grouped by function to clarify what functions are available.
  4903.  
  4904.  
  4905. **************************************************************************
  4906. API Block - Shared Memory
  4907. The API entry point for the JT Fax 14400B is the user selectable shared memory 
  4908. window. For backward compatibility, most of the elements of this structure are 
  4909. identical to the JT Fax 9600B. The only changes implemented to this structure 
  4910. are related to the new features of the JT Fax 14400B Dual. The changes are in 
  4911. the field previously defined as RESERVED and in one field not used in 9600B 
  4912. (RESET_PC). The new fields are STATUS_CODE, RCV_FILE_TYPE and RCV_LINES. 
  4913. The following chart describes the available fields:
  4914.  
  4915.  
  4916. Offset Length    Name            Usage/Description
  4917. -----------------------------------------------------------------------
  4918. 0000H-0005H     ID            Location of board address
  4919. 0005H-0001H     COMMAND        Commands and Status
  4920. 0006H-0001H     RING_COUNT    Ring to answer on
  4921. 0007H-0001H     CALL_MODE        Transmit / Receive
  4922. 0008H-0001H     FILE_TYPE         ASCII, PCX, JT Fax
  4923. 0009H-0001H     XMIT_FONT         Resolution, Font number
  4924. 000AH-0001H     MIN_PAGE         Force 11 inch page flag
  4925. 000BH-003DH     BUFFER_AREA     Phone numbers & headers
  4926. 0048H-0002H     SECONDS         Length of connection
  4927. 004AH-0001H     SPEAKER         On, off, on till connect
  4928. 004BH-0001H     RET_CODE         Completion code
  4929. 004CH-0002H     PAGES         Number of pages sent
  4930. 004EH-0002H     DATA_LEN         Length of valid data
  4931. 0050H-0001H     BAUD_RATE         2400, 4800, 7200, 9600, 12000,
  4932.                         14400 baud
  4933. 0051H-0001H     RESET_BOARD     Reset the board
  4934. 0052H-0001H     STATUS_CODE     Extended status
  4935. 0053H-0001H    LINE_COUNT        Number of lines transmitted
  4936. 0054H-0001H     RCV_FILE_TYPE     Receive file type
  4937. 0055H-0002H     RCV_LINE         Lines per page received
  4938. 0057H-0001H     RESERVED         Not used at this time
  4939. 0058H-07A8H     DATA_AREA     Used for file data
  4940.  
  4941. Note: H indicates hexadecimal code.
  4942.  
  4943.  
  4944. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4945. JT Fax 9600 Compatibility
  4946. For backward compatibility, the API set published with the JT Fax 9600B has 
  4947. been fully implemented. These functions use the Command field and are 
  4948. provided here for reference.
  4949.  
  4950. Status                Description
  4951. ------------------------------------------------------------------
  4952. EOTFLAG                End of transmission
  4953. EOP                    End of page
  4954. INIT                    Initialize the board
  4955. LOAD_DATA_COMMAND        Begin transmit of Fax
  4956. LOAD_FONT_COMMAND        Load soft font
  4957. RECVINIT                Begin reception of Fax
  4958. XMIT_COMMAND            No transmission in progress
  4959.  
  4960. The JT Fax 9600B also included some status and PC handshake codes in the 
  4961. Command field. These are fully implemented for backward compatibility. The 
  4962. codes are provided here for reference.
  4963.  
  4964. Command                Description
  4965. ------------------------------------------------------------------------------
  4966. BAD_RAM                RAM test failed
  4967. BAD_ROM                ROM test failed
  4968. BOARD_ACK_STATUS        Board returns when function complete
  4969. BOARD_SYNC_COMMAND        Transition from initialization to 
  4970.                     command
  4971. ERROR                An error has occurred
  4972. GOOD_INIT                Board passed self test
  4973. IDLE_STATUS             No transmission in progress
  4974. PC_ACK                PC returns when function is complete
  4975.  
  4976.  
  4977. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4978. JT Fax 14400B Facsimile API
  4979. The JT Fax 14400B API set is an enhanced version of the 9600B API set. All of 
  4980. the 9600B functions are supported. The following chart lists the facsimile API 
  4981. commands supported:
  4982.  
  4983. Command                Description
  4984. -------------------------------------------------------------------
  4985. EOTFLAG                End of transmission
  4986. EOP_FLAG                End of page
  4987. BOARD_SYNC_COMMAND        Initializes the board
  4988. LOAD_DATA_COMMAND        Begin transmit of Fax
  4989. LOAD_FONT_COMMAND        Load soft font
  4990. RECVINIT                Begin reception of Fax
  4991. XMIT_COMMAND            No transmission in progress
  4992.  
  4993.  
  4994. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4995. JT Fax 14400B Configuration API
  4996. The JT Fax 14400B Dual Configuration functions were not available in the JT 
  4997. Fax 9600B command set. These configuration functions allow the host to 
  4998. customize the operation of the JT Fax 14400B Dual board. The following chart 
  4999. lists the configuration commands:
  5000.  
  5001. Command                Description
  5002. ----------------------------------------------------------------------
  5003. BUSY_COMMAND            Look for busy
  5004. DTMF_OFF_TIME_COMMAND    DTMF off time
  5005. DTMF_ON_TIME_COMMAND    DTMF on time
  5006. ENHANCED_MODE_OFF_COMMANDDisable 14400B modes
  5007. ENHANCED_MODE_ON_COMMAND    Enable all 14400B modes
  5008. EXTEND_STATUS_OFF_COMMAND    Disable extended status
  5009. EXTEND_STATUS_ON_COMMAND    Enable extended status
  5010. FAX_144_MODE_OFF_COMMAND    Disable receive 14400 kbps
  5011. FAX_144_MODE_ON_COMMAND    Enable receive 14400 kbps
  5012. FAX_MODE_COMMAND        Enable JT Fax Mode (testing)
  5013. MODEM_MODE_COMMAND        Disable Fax and enable Modem
  5014. NO_BUSY_COMMAND        Do not look for busy
  5015. PULSE_INTER_COMMAND        Interdigit time
  5016. REC_PCX_OFF_COMMAND        Disable receive PCX format
  5017. REC_PCX_ON_COMMAND        Enable receive PCX format
  5018. SET_CARRIER_COMMAND        Time to wait for carrier
  5019. STATUS_COMMAND            Enable the 14400B status
  5020. USER_CSI_COMMAND        Initializes CSI
  5021. USER_TSI_COMMAND        Initializes TSI
  5022.  
  5023.  
  5024. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5025. Voice Commands
  5026. The Voice mode allows the recording and playback of non-compressed voice 
  5027. messages. 
  5028.  
  5029. During Phase A of a call, the Voice mode is entered after a user definable 
  5030. period of silence. (See Appendix D for a detailed description of JT Fax fax 
  5031. phases). After a period of silence, the user is notified of the "silent period" 
  5032. (SILENCE_DETECTED status) and is provided with a number of options. In 
  5033. addition, DTMF detect is automatically enabled.
  5034.  
  5035. Command                Description
  5036. -------------------------------------------------------------------------------
  5037. CLEAR_VOICE_COMMAND        Disables voice mode
  5038. GAIN_DOWN_COMMAND        Decrements gain increment by 1 dB 
  5039.                     (See SET_GAIN_COMMAND)
  5040. GAIN_UP_COMMAND        Increments the gain increment by 1 dB
  5041.                     (See SET_GAIN_COMMAND)
  5042. PLAY_END_COMMAND        End voice playback
  5043. PLAY_START_COMMAND        Start voice play back
  5044. RECORD_START_COMMAND    Start recording voice
  5045. RECORD_STOP_COMMAND        Stop recording voice
  5046. RETURN_TO_COMMAND         Return to command state from voice
  5047.                     mode
  5048. RETURN_TO_DATA_COMMAND    Return to Fax state from voice mode
  5049. SET_ACT_TIMER_COMMAND    Sets the time to wait for CNG tone
  5050. SET_GAIN_COMMAND        Sets the gain increment
  5051. SET_SLEW_RATE_COMMAND    Sets the "fall off rate" for voice signal 
  5052. SET_VOICE_MODE_COMMAND    Enables voice mode and CNG detect
  5053. TX_DTMF_COMMAND        Transmit DTMF tones
  5054.  
  5055. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5056. Utility Functions
  5057. Some additional functions were added to aid in testing and debugging. The 
  5058. utility functions provide some of the low-level commands (primitives) used by 
  5059. the JT Fax 14400B to operate the hardware components. The JT Fax 14400B must 
  5060. be in FAX_MODE before any of the utility commands can be used. 
  5061.  
  5062. Caution: Some of these commands change the configuration of the Data Pump. 
  5063. If a change occurs to the data pump configuration, then a hardware reset will 
  5064. restore the values.
  5065.  
  5066. Command                Description
  5067. ------------------------------------------------------------------
  5068. CED_OFF_COMMAND        Turn off CED tone
  5069. CED_ON_COMMAND            Turn on CED tone
  5070. CNG_OFF_COMMAND        Turn off CNG tone
  5071. CNG_ON_COMMAND            Turn on CNG tone
  5072. DTMF_DIAL_COMMAND        Dial a DTMF number
  5073. DTMF_OFF_COMMAND        Turn off a DTMF tone
  5074. DTMF_ON_COMMAND        Turn on a DTMF tone
  5075. OEM_CODE_COMMAND        Execute OEM code onboard
  5076. OEM_LOAD_COMMAND        Load OEM code onboard
  5077. OFF_HOOK_COMMAND        Connects phone line
  5078. ON_HOOK_COMMAND        Disconnects phone line
  5079. PULSE_BREAK_COMMAND        Sets the Break Time
  5080. PULSE_DIAL_COMMAND        Pulse dial a number
  5081. PULSE_MAKE_COMMAND        Sets the Make Time
  5082. RESET_DATA_PUMP_COMMAND    Resets the data pump
  5083. SPEAKER_OFF_COMMAND        Turn off the speaker
  5084. SPEAKER_ON_COMMAND        Turn on the speaker
  5085.  
  5086.  
  5087. **************************************************************************
  5088. Return Codes
  5089. The return codes are enhanced for the JT Fax 14400B. In addition to the old JT 
  5090. Fax 9600B error codes, enhanced codes are available for more accurate 
  5091. problem determination during a FAX call.
  5092.  
  5093. The standard JT Fax 9600B return codes include two status codes, and the 
  5094. remaining codes are error return codes. The return codes are listed in the 
  5095. following table.
  5096.  
  5097. Error Code                Description
  5098. --------------------------------------------------------------------------------
  5099. BAD_DCS_RECEIVE            Error in DCS data
  5100. BAD_DIS_RECEIVE            Bad DIS was received
  5101. BAD_MCF_RESPONSE        Messages not confirmed
  5102. BAD_MPS_RECEIVE            Error in MPS frame
  5103. BAD_TRAINING            Errors received in training
  5104. BUSY                    Busy signal was detected
  5105. CLIPPED                ASCII to T4 line too long
  5106. NO_CARRIER            No connection was established
  5107. NO_DATA_RECEIVED        No data received within time limit
  5108. NO_DIALTONE            No dialtone reported in time limit
  5109. NO_PC_ACK                No PC acknowledge within time limit
  5110. PAGE_ERROR            Error in transmit page or receive page
  5111. PHASE_D_ERROR            Error occurred in Phase D
  5112. SUCCESSFUL_RECEIVE        Receive was successful
  5113. SUCCESSFUL_TRANSMIT        Transmit was successful
  5114.  
  5115. The enhanced mode can be enabled/disabled by the following commands:
  5116.  
  5117. Ñ    ENHANCED_MODE_ON
  5118. Ñ    ENHANCED_MODE_OFF (default).
  5119.  
  5120. The additional enhanced return codes are listed in the following table.
  5121.  
  5122. Error Code                Description
  5123. ------------------------------------------------------------------------------
  5124. ABORT_ERROR            Callee aborted call
  5125. DCN_RECEIVED_ERROR        Unexpected DCN received
  5126. DIALING_ERROR            DTMF digit in error
  5127. DTMF_ERROR            Tone was not DTME
  5128. DTMF_TIMEOUT_ERROR        DTMF tone was not available during timeout
  5129. FAXIT_ERROR            Error during fax transmission
  5130. FONT_TOO_LARGE_ERROR        Soft font too large
  5131. HDLC_CRC_ERROR            HDLC frame had bad CRC
  5132. HDLC_FRAME_TIMEOUT_ERROR    No HDLC frame in time limit
  5133. HDLC_MIN_SIZE_ERROR        Facsimile control frames had incorrect size
  5134. LONG_LINE_ERROR            Line too long in ASCII to Huffman
  5135. MAX_FRAME_ERROR        Facsimile control frames had incorrect size
  5136. NEGOTIATING_TRAIN_DCN_ERROR    DCN received during training
  5137. NO_CNG_ERROR            No CNG detected in received mode
  5138. NO_RECEIVE_DCS_ERROR        No DCS received
  5139. PERCENTAGE_ERROR        Errors in line exceeded percentage limits
  5140. PHASE_A_ERROR            Error occurred in Phase A
  5141. PHASE_B_ERROR            Error occurred in Phase B
  5142. PHASE_C_ERROR            Error occurred in Phase C
  5143. PHASE_E_ERROR            Error occurred in Phase E
  5144. PHASE_E_TIMEOUT            Time-out during handshake Phase E
  5145. ROCK_ERROR            Error in DSP chip
  5146. VOICE_ERROR            Error in voice procedures
  5147.  
  5148.  
  5149. **************************************************************************
  5150. Status Codes
  5151. In addition to the enhanced error codes, enhanced status messages are 
  5152. available. Since status codes do not require a response or action, the codes are 
  5153. reported in the STATUS_CODE.
  5154.  
  5155. Status            Description
  5156. ----------------------------------------------------------
  5157. CONNECT            Connection established
  5158. NEGOTIATING_SPEED    Negotiating connect speed
  5159. PHASE_A_START        Phase A started
  5160. PHASE_B_START        Phase B started
  5161. PHASE_C_START        Phase C started
  5162. PHASE_D_START        Phase D started
  5163. RING                Ring detected
  5164. SUBSCRIBE_INFO        CSI/TSI information available in buffer area
  5165.  
  5166.  
  5167. ==========================================================================
  5168. Chapter 4
  5169. Voice and DTMF Detect
  5170.  
  5171.  
  5172. The voice and DTMF detect option of the JT Fax 14400B Dual has a Manual and an 
  5173. Automatic operating mode. Automatic requires a connection while Manual may 
  5174. be initiated in an off- line or on-line state.
  5175.  
  5176. The Automatic DTMF/VOICE detection for JT Fax 14400B Dual detects DTMF/VOICE 
  5177. during the Phase A (answer mode) of a call. Enable the 
  5178. CNG_DETECT_ON_command for the automatic option. To disable the automatic 
  5179. mode, issue the CNG_DETECT_OFF_COMMAND.
  5180.  
  5181. After a user-defined period of silence (no CNG tone), the JT Fax 14400B Dual 
  5182. enters DTMF/VOICE mode. During this stage, the user has the following options:
  5183.  
  5184. Ñ    detecting DTMF tones
  5185. Ñ    returning to data mode and continuing to answer Fax calls (i.e., send 
  5186. CED)
  5187. Ñ    executing voice commands
  5188. Ñ    returning to command state. 
  5189.  
  5190. The Manual mode only requires setting the options for DTMF/VOICE and the 
  5191. specific command to be issued. Manual mode is independent of connection 
  5192. status.
  5193.  
  5194.  
  5195. **************************************************************************
  5196. DTMF Detect
  5197. Automatic DTMF detection is accomplished when the JT Fax 14400B Dual is in 
  5198. the DTMF/VOICE ╥on-line╙ detect mode. The JT Fax 14400B Dual automatically 
  5199. searches for DTMF tones. If a DTMF tone is found, the tone value is placed in 
  5200. the first byte of the Data_Area and a DTMF_DETECT_STATUS is written into the 
  5201. API command block at location COMMAND. The JT Fax 14400B Dual waits until 
  5202. the Host retrieves the DTMF value and issues a PC_ACK command before 
  5203. searching for more DTMF tones.
  5204.  
  5205. The manual option provides the capability of entering DTMF detect mode from 
  5206. command state. This is independent of connect status. The JT Fax 14400B Dual 
  5207. operates similarly to the automatic DTMF detect. The difference is that the Host 
  5208. must cancel the DTMF detect search with an EOD command. The JT Fax 14400B 
  5209. Dual issues a BOARD_ACK_COMMAND in response. 
  5210.  
  5211. The option for CNG_DETECT does not have to be enabled for the manual DTMF 
  5212. detect. However, DTMF detect option does need to be enabled for manual and 
  5213. automatic operation.
  5214.  
  5215. The DTMF tones detected and reported to the Host are:
  5216.  
  5217.     1, 2, 3, 4, 5, 6, 7, 8, 9, 0, *, #, A, B, C, D.
  5218.  
  5219. Commands available for Automatic operation are:
  5220.  
  5221.     CNG_DETECT_ON_COMMAND
  5222.     DTMF_DIAL_COMMAND
  5223.     DTMF_DETECT_STATUS
  5224.     RETURN_TO_DATA_COMMAND
  5225.     RETURN_TO_COMMAND
  5226.  
  5227. Commands available for manual operation include:
  5228.  
  5229.     DTMF_DETECT_ON_COMMAND
  5230.     EOD
  5231.     DTMF_DETECT_STATUS
  5232.  
  5233. The following is an example of automatic DTMF detect:
  5234.  
  5235.     (Connecting Call)
  5236.         .
  5237.         .
  5238.         .
  5239.     Wait for Response
  5240.         SILENCE_DETECT_STATUS
  5241.     Check Status
  5242.         VOICE_MODE
  5243.         .
  5244.         .
  5245.         .
  5246.     Wait for Response
  5247.         DTMF_DETECT_STATUS
  5248.     Retrieve Byte Code from Data_Area
  5249.     Send PC_ACK
  5250.         .
  5251.         .
  5252.         .
  5253.     (Continuing in DTMF/Voice Mode)
  5254.  
  5255. The following is an example of manual DTMF detect:
  5256.  
  5257.     Send GET_DTMF_COMMAND
  5258.     Wait for Response
  5259.         BOARD_ACK_STATUS
  5260.     Wait for Response
  5261.         DTMF_DETECT_STATUS
  5262.     Retrieve Byte Data from Data_Area
  5263.     Send PC_ACK
  5264.         .
  5265.         .
  5266.         .
  5267.     (When Finished)
  5268.     Send EOD_FLAG
  5269.     Wait for Response
  5270.         BOARD_ACK_COMMAND
  5271.     Send PC_ACK
  5272.  
  5273.  
  5274. **************************************************************************
  5275. Voice Mode
  5276. Voice mode can be entered when you are connected or disconnected to the 
  5277. phone line. When connected, voice recording is provided from the telephone 
  5278. line to either Fax A or Fax B. In the disconnected mode, input is provided by a 
  5279. microphone on Fax A only. 
  5280.  
  5281. In automatic voice mode, DTMF and voice are enabled. During Phase A of the 
  5282. call, the Voice mode is entered after a user definable period of silence. After 
  5283. the period of silence, the Host is notified of the "silent period" 
  5284. (SILENCE_DETECTED status) and starts to execute options similar in 
  5285. functionality to the Class 2 voice commands. 
  5286.  
  5287. The options in Automatic mode are:
  5288.  
  5289. Command                Description
  5290. ----------------------------------------------------------------------------------
  5291. CNG_DETECT_ON_COMMAND    Enables voice mode and CNG detect
  5292. CNG_DETECT_OFF_COMMAND    (default)
  5293. SET_ACTIVITY_TIMER        Sets the time to wait for CNG tone
  5294. GAIN_UP                Increases the gain increment by 1 dB
  5295. GAIN_DOWN                Decrements gain increment by 1 dB
  5296. SET_GAIN                Sets the gain increment
  5297. SET_SLEW_RATE            Sets the "fall-off rate" for voice signal
  5298. RETURN_TO_COMMAND        Returns to command state from voice mode
  5299. RECORD_START            Starts recording voice
  5300. RECORD_STOP            Stops recording voice
  5301. PLAY_START            Starts voice play back
  5302. PLAY_END                Ends voice playback
  5303. DIAL_DTMF_COMMAND        Transmits DTMF tones
  5304.  
  5305. Manual voice mode requires the host to issue the SETUP_VOICE_COMMAND from 
  5306. command state. Once the command is received by the FAX, the JT Fax 14400B 
  5307. Dual enters the VOICE/DTMF mode and all commands available for Automatic 
  5308. mode are applicable except the RETURN_TO_DATA_COMMAND.
  5309.  
  5310. During the actual playing and recording of a message, the DTMF detection is 
  5311. not available. This is due to the half-duplex nature of the 144EFX chip and 
  5312. different modes required for DTMF DETECT and VOICE mode. However, after the 
  5313. message is sent DTMF detection may occur.
  5314.  
  5315. Voice data format during record and playback is in a raw binary 8-bit 
  5316. resolution format.
  5317.  
  5318. The following PDL example is for automatic voice playback:
  5319.  
  5320.     (Initiate Call)
  5321.         .
  5322.         .
  5323.         .
  5324.     Wait for Response
  5325.         SILENCE_DETECT_STATUS
  5326.     Send PC_ACK
  5327.     Write Voice Data in Data_Area
  5328.     Send Play Start
  5329.     Wait for Response
  5330.         LOAD_DATA_COMMAND
  5331.         .
  5332.         .
  5333.         .
  5334.     (Finish Data)
  5335.         SEND_EOV_FLAG
  5336.     Wait for Response
  5337.         BOARD_ACK_COMMAND
  5338.     Send PC_ACK
  5339.         .
  5340.         .
  5341.         .
  5342.     (Continue with Voice/DTMF loop)
  5343.  
  5344. Voice playback is completed.
  5345.  
  5346. The following example is for manual record off-line.
  5347.  
  5348. Step 1:    Attach the microphone to the Fax A microphone jack.
  5349.  
  5350. Step 2:    Start the voice recording process:
  5351.  
  5352.         Send REC_START_COMMAND
  5353.         Wait for Response
  5354.             BOARD_ACK_STATUS
  5355.         Wait for Response
  5356.             LOAD_DATA_COMMAND
  5357.         Retrieve voice data from Data_Area
  5358.         Send PC_ACK
  5359.             .
  5360.             .
  5361.             .
  5362.         Wait for Response
  5363.             EOVFLAG
  5364.         Send PC_ACK
  5365.  
  5366. This completes the voice recording. 
  5367.  
  5368. To use Manual Voice Recording, use the previous procedure, but replace the 
  5369. REC_START_COMMAND with the MANUAL_REC_COMMAND.
  5370.  
  5371.  
  5372. ==========================================================================
  5373. Chapter 5
  5374. Command Reference
  5375.  
  5376.  
  5377. This Chapter includes detailed descriptions of the JT Fax command set. The 
  5378. point of reference is from the HOST side for all commands. The command 
  5379. descriptions are in the following format:
  5380.  
  5381. Characteristic        Description
  5382. COMMAND:             Specific function or status mnemonic
  5383. CODE:                 Hex code 
  5384. CATEGORY:            Fax, Status, Configuration, Utility, Voice
  5385. DIRECTION:            Host to JT Fax or JT Fax to Host
  5386. INPUT to JT:            Location in API block. Direction: JT Fax
  5387. OUTPUT from JT:        Location in API block. Direction: Host
  5388. DEFAULT:            Default for status commands
  5389. DESCRIPTION:        Detailed description of command
  5390.  
  5391. EXAMPLE:            A flow language example
  5392.  
  5393. RELATED FUNCTIONS:     Any other functions that might be of use
  5394.  
  5395. The commands are presented in alphabetical order.
  5396.  
  5397. Note: A PC_ACK is required after a BOARD_ACK status unless otherwise specified 
  5398. by the specific command feature.
  5399.  
  5400. **************************************************************************
  5401. BAD_RAM
  5402. Characteristic        Description
  5403. COMMAND:             BAD_RAM
  5404. CODE:                 0F1H
  5405. CATEGORY:            Fax - Compatibility 
  5406. DIRECTION:            JT Fax to Host
  5407. INPUT to JT:            None
  5408. OUTPUT from JT:        None
  5409. DEFAULT:            Not applicable
  5410.  
  5411. DESCRIPTION:        BAD_RAM is issued after the RAM test was 
  5412. performed. BAD_RAM is an indication of a faulty random access memory chip. 
  5413. It is not recommended that FAX operation proceed. Call Hayes Customer Service.
  5414.  
  5415. EXAMPLE:            BOARD_SYNC_COMMAND        - Host
  5416.                 BAD_RAM                - FAX
  5417.                 PC_ACK                - Host
  5418.                 IDLE                    - FAX
  5419.  
  5420. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  5421.                 HARDWARE_RESET_COMMAND
  5422.  
  5423.  
  5424. *****************************************************************************
  5425. BAD_ROM
  5426. Characteristic        Description
  5427. COMMAND:             BAD_ROM
  5428. CODE:                 0F2H
  5429. CATEGORY:            Fax - Compatibility 
  5430. DIRECTION:            JT Fax to Host
  5431. INPUT to JT:            None
  5432. OUTPUT from JT:        None
  5433. DEFAULT:            Not applicable
  5434.  
  5435. DESCRIPTION:    BAD_ROM is issued after the ROM test was performed. 
  5436. BAD_ROM is an indication of faulty read only memory chip. It is not 
  5437. recommended that FAX operation proceed. Call Hayes Customer Service.
  5438.  
  5439. EXAMPLE:            BOARD_SYNC_COMMAND        - Host
  5440.                 BAD_ROM                - FAX
  5441.                 PC_ACK                 - Host
  5442.                 IDLE                    - FAX
  5443.  
  5444. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  5445.                 HARDWARE_RESET_COMMAND
  5446.  
  5447.  
  5448. **************************************************************************
  5449. Board_ACK_Status
  5450. Characteristic        Description
  5451. COMMAND:             Board_ACK_Status
  5452. CODE:                 02H
  5453. CATEGORY:            Status 
  5454. DIRECTION:            JT Fax to Host
  5455. INPUT to JT:            None
  5456. OUTPUT from JT:        None
  5457. DEFAULT:            Not applicable
  5458.  
  5459. DESCRIPTION:        This API is part of the handshake protocol with the 
  5460. Host. The JT Fax board returns a BOARD_ACK_STATUS acknowledging the 
  5461. receipt or completion of a command. Some commands have additional 
  5462. handshake sequences and are detailed under the specific command.
  5463.  
  5464. EXAMPLE:            REC_PCX_ON_COMMAND         - Host
  5465.                 BOARD_ACK_STATUS         - JT Fax
  5466.                 (continue if necessary)
  5467.                     .
  5468.                     .
  5469.                     .
  5470.  
  5471. RELATED FUNCTIONS:     PC_ACK
  5472.  
  5473.  
  5474. **************************************************************************
  5475. Board_Sync_Command
  5476. Characteristic        Description
  5477. COMMAND:             Board_Sync_Command
  5478. CODE:                 0FFH
  5479. CATEGORY:            FAX - Compatibility 
  5480. DIRECTION:            Host to JT Fax
  5481. INPUT to JT:            None
  5482. OUTPUT from JT:        GOOD_INIT
  5483.                 IDLE
  5484. DEFAULT:            Not applicable
  5485.  
  5486. DESCRIPTION:    The BOARD_SYNC_COMMAND initiates command state for 
  5487. the Fax after a power up or HARDWARE_RESET_COMMAND. No commands are 
  5488. accepted by the Fax until this command is issued. After the command is issued, 
  5489. BOARD_STATUS is updated in the API block. A GOOD_INIT is issued when the Fax 
  5490. is ready for commands. If a GOOD_INIT is not received , then the Host may need 
  5491. to issue another HARDWARE_RESET_COMMAND.
  5492.  
  5493. EXAMPLE:            BOARD_SYNC_COMMAND         - Host
  5494.                 GOOD_INIT                 - FAX
  5495.                 PC_ACK                 - Host
  5496.                 IDLE                     - FAX
  5497.  
  5498. RELATED FUNCTIONS:     GOOD_INIT,
  5499.                 HARDWARE_RESET_COMMAND
  5500.  
  5501.  
  5502. **************************************************************************
  5503. Busy_Command
  5504. Characteristic        Description
  5505. COMMAND:             Busy_Command
  5506. CODE:                 02FH
  5507. CATEGORY:            Configuration 
  5508. DIRECTION:            Host to JT Fax
  5509. INPUT to JT:            None
  5510. OUTPUT from JT:        BOARD_ACK_STATUS
  5511. DEFAULT:            Detect Busy
  5512.  
  5513. DESCRIPTION:        The BUSY_COMMAND instructs the JT Fax to 
  5514. recognize a busy signal.
  5515.  
  5516. EXAMPLE:            IDLE                    - FAX
  5517.                 BUSY_COMMAND             - Host
  5518.                 BOARD_ACK_STATUS        - FAX
  5519.                 PC_ACK                - Host
  5520.                 IDLE_STATUS            - Fax
  5521.  
  5522. RELATED FUNCTIONS:     XMIT_COMMAND, 
  5523.                 PULSE_DIAL_COMMAND,
  5524.                 DTMF_DIAL_COMMAND
  5525.  
  5526.  
  5527. **************************************************************************
  5528. CED_Off_Command
  5529. Characteristic        Description
  5530. COMMAND:             CED_Off_Command
  5531. CODE:                 037H
  5532. CATEGORY:            Utility
  5533. DIRECTION:            Host to JT Fax
  5534. INPUT to JT:            None
  5535. OUTPUT from JT:        BOARD_ACK_STATUS
  5536. DEFAULT:            Not applicable
  5537. DESCRIPTION:        The CED_OFF_COMMAND terminates the output of an 
  5538. ITU-T T.4 specified 2100 Hz tone. 
  5539.  
  5540. EXAMPLE:            CED_OFF_COMMAND        - Host
  5541.                 BOARD_ACK_STATUS        - FAX
  5542.                 PC_ACK                - Host
  5543.                 IDLE                    - FAX
  5544.  
  5545. RELATED FUNCTIONS:     CED_ON_COMMAND
  5546.  
  5547.  
  5548. *****************************************************************************
  5549. CED_On_Command
  5550. Characteristic        Description
  5551. COMMAND:             CED_On_Command
  5552. CODE:                 036H
  5553. CATEGORY:            Utility
  5554. DIRECTION:            Host to JT Fax
  5555. INPUT to JT:            None
  5556. OUTPUT from JT:        BOARD_ACK_STATUS
  5557. DEFAULT:            Not applicable
  5558. DESCRIPTION:        The CED_ON_COMMAND outputs an ITU-T T.4 specified 
  5559. 2100 Hz tone.
  5560.  
  5561. EXAMPLE:            CED_ON_COMMAND            - Host
  5562.                 BOARD_ACK_STATUS        - FAX
  5563.                 PC_ACK                - Host
  5564.                 IDLE                    - FAX
  5565.  
  5566. RELATED FUNCTIONS:     CED_OFF_COMMAND
  5567.  
  5568.  
  5569.  
  5570. **************************************************************************
  5571. CNG_Detect_Off_Command
  5572. Characteristic        Description
  5573. COMMAND:             CNG_Detect_Off_Command
  5574. CODE:                 061H
  5575. CATEGORY:            Voice - Configuration
  5576. DIRECTION:            Host to JT Fax
  5577. INPUT to JT:            None
  5578. OUTPUT from JT:        BOARD_ACK_STATUS
  5579. DEFAULT:            Off
  5580.  
  5581. DESCRIPTION:        The CNG_DETECT_OFF_COMMAND must be issued from 
  5582. command state. The command disables the voice and DTMF modes when 
  5583. answering a call. After answering a call, the Fax will not determine if the 
  5584. caller is a voice call or Fax call by detecting a CNG tone. The answer back tone 
  5585. is transmitted. 
  5586.  
  5587. EXAMPLE:            IDLE                    - FAX
  5588.                 CNG_DETECT_OFF_COMMAND     - Host
  5589.                 BOARD_ACK_STATUS        - FAX
  5590.                 PC_ACK                - Host
  5591.                 IDLE                    - FAX
  5592.  
  5593. RELATED FUNCTIONS:     "Voice and DTMF", 
  5594.                 CNG_DETECT_ON_COMMAND, 
  5595.                 ERRFLAG, NO_CNG_DETECT_ERROR
  5596.  
  5597.  
  5598. **************************************************************************
  5599. CNG_Detect_On_Command
  5600. Characteristic        Description
  5601. COMMAND:             CNG_Detect_On_Command
  5602. CODE:                 060H
  5603. CATEGORY:            Voice - Configuration
  5604. DIRECTION:            Host to JT Fax
  5605. INPUT to JT:            None
  5606. OUTPUT from JT:        BOARD_ACK_STATUS
  5607. DEFAULT:            Off
  5608.  
  5609. DESCRIPTION:        The CNG_DETECT_ON_COMMAND must be issued from 
  5610. command state. The command enables the voice and DTMF modes when 
  5611. answering a call. After answering a call, the Fax will not determine if the 
  5612. caller is a voice call or Fax call by detecting a CNG tone. The answer back tone 
  5613. is transmitted. 
  5614.  
  5615. EXAMPLE:            IDLE                    - FAX
  5616.                 CNG_DETECT_ON_COMMAND     - Host
  5617.                 BOARD_ACK_STATUS        - FAX
  5618.                 PC_ACK                - Host
  5619.                 IDLE                    - FAX
  5620.  
  5621. RELATED FUNCTIONS:     "Voice and DTMF", 
  5622.                 CNG_DETECT_ON_COMMAND, ERRFLAG, 
  5623.                 NO_CNG_DETECT_ERROR
  5624.  
  5625.  
  5626. **************************************************************************
  5627. CNG_Off_Command
  5628. Characteristic        Description
  5629. COMMAND:             CNG_Off_Command
  5630. CODE:                 035H
  5631. CATEGORY:            Utility
  5632. DIRECTION:            Host to JT Fax
  5633. INPUT to JT:            None
  5634. OUTPUT from JT:        BOARD_ACK_STATUS
  5635. DEFAULT:            Not applicable
  5636. DESCRIPTION:        The CNG_OFF_COMMAND terminates the output of an 
  5637. ITU-T T.4 specified 1100 Hz tone.
  5638.  
  5639. EXAMPLE:            CNG_ON_COMMAND            - Host
  5640.                 BOARD_ACK_STATUS        - FAX
  5641.                 PC_ACK                - Host
  5642.                 IDLE                    - FAX
  5643.  
  5644. RELATED FUNCTIONS:     CNG_OFF_COMMAND
  5645.  
  5646.  
  5647. **************************************************************************
  5648. CNG_On_Command
  5649. Characteristic        Description
  5650. COMMAND:             CNG_On_Command
  5651. CODE:                 034H
  5652. CATEGORY:            Utility
  5653. DIRECTION:            Host to JT Fax
  5654. INPUT to JT:            None
  5655. OUTPUT from JT:        BOARD_ACK_STATUS
  5656. DEFAULT:            Not applicable
  5657.  
  5658. DESCRIPTION:        The CNG_ON_COMMAND outputs an ITU-T T.4 specified 
  5659. 1100 Hz tone.
  5660.  
  5661. EXAMPLE:            CNG_ON_COMMAND            - Host
  5662.                 BOARD_ACK_STATUS        - FAX
  5663.                 PC_ACK                - Host
  5664.                 IDLE                    - FAX
  5665.  
  5666. RELATED FUNCTIONS:     CNG_OFF_COMMAND
  5667.  
  5668.  
  5669. **************************************************************************
  5670. DTMF_Detect_Off_Command
  5671. Characteristic        Description
  5672. COMMAND:             DTMF_Detect_Off_Command
  5673. CODE:                 074H
  5674. CATEGORY:            Voice - Configuration
  5675. DIRECTION:            Host to JT Fax
  5676. INPUT to JT:            None
  5677. OUTPUT from JT:        BOARD_ACK_COMMAND
  5678. DEFAULT:            Not applicable
  5679.  
  5680. DESCRIPTION:        The DTMF_DETECT_OFF_COMMAND disables the Fax 
  5681. capability to detect DTMF tones while in the Voice/DTMF mode. 
  5682.  
  5683. EXAMPLE:            IDLE                    - FAX
  5684.                 DTMF_DETECT_OFF_COMMAND    - Host
  5685.                 BOARD_ACK_COMMAND        - FAX
  5686.                 PC_ACK                - Host
  5687.                 IDLE                    - FAX
  5688.  
  5689. RELATED FUNCTIONS:     "Voice and DTMF", 
  5690.                 CNG_DETECT_ON_COMMAND
  5691.  
  5692.  
  5693. **************************************************************************
  5694. DTMF_Detect_On_Command
  5695. Characteristic        Description
  5696. COMMAND:             DTMF_Detect_On_Command
  5697. CODE:                 073H
  5698. CATEGORY:            Voice - Configuration
  5699. DIRECTION:            Host to JT Fax
  5700. INPUT to JT:            None
  5701. OUTPUT from JT:        BOARD_ACK_COMMAND
  5702. DEFAULT:            Not applicable
  5703.  
  5704. DESCRIPTION:        The DTMF_DETECT_ON_COMMAND enables the Fax 
  5705. capability to detect DTMF tones while in the Voice/DTMF mode. 
  5706.  
  5707. EXAMPLE:            IDLE                    - FAX
  5708.                 DTMF_DETECT_ON_COMMAND    - Host
  5709.                 BOARD_ACK_COMMAND        - FAX
  5710.                 PC_ACK                - Host
  5711.                 IDLE                    - FAX
  5712.  
  5713. RELATED FUNCTIONS:     "Voice and DTMF", 
  5714.                 CNG_DETECT_ON_COMMAND
  5715.  
  5716.  
  5717. **************************************************************************
  5718. DTMF_Detect_Status
  5719. Characteristic        Description
  5720. COMMAND:             DTMF_Detect_Status
  5721. CODE:                 070H
  5722. CATEGORY:            Voice , Status
  5723. DIRECTION:            JT Fax to Host
  5724. INPUT to JT:            PC_ACK
  5725. OUTPUT from JT:        DTMF digit in DATA_AREA
  5726. DEFAULT:            Not applicable
  5727.  
  5728. DESCRIPTION:        The DTMF_DETECT_STATUS informs the Host that a 
  5729. DTMF tone was detected while in VOICE/DTMF mode. The DTMF_DETECT_STATUS 
  5730. command is only issued after a DTMF_DETECT_ON_COMMAND.
  5731.  
  5732. EXAMPLE:            DTMF_DETECT_ON_COMMAND    - Host
  5733.                     .
  5734.                     .
  5735.                     .
  5736.                 SILENCE_DETECTED_STATUS    - FAX
  5737.                 PC_ACK                - Host
  5738.                 ...load DTMF byte in DATA_AREA    - FAX
  5739.                 DTMF_DETECT_STATUS        - FAX
  5740.                 ...retrieve DTMF byte        - Host
  5741.                 PC_ACK                - Host
  5742.                 IDLE                     - FAX
  5743.  
  5744. RELATED FUNCTIONS:     "Voice and DTMF", 
  5745.                 DTMF_DETECT_ON_COMMAND, 
  5746.                 DTMF_DETECT_OFF_COMMAND
  5747.  
  5748.  
  5749. **************************************************************************
  5750. DTMF_Dial_Command
  5751. Characteristic    Description
  5752. COMMAND:         DTMF_Dial_Command
  5753. CODE:             02CH
  5754. CATEGORY:        Utility 
  5755. DIRECTION:        Host to JT Fax
  5756. INPUT to JT:        DTMF number at OFFSET 00H in buffer_area
  5757.             Max. number length 60 characters
  5758. OUTPUT from JT:    BOARD_ACK_STATUS
  5759. DEFAULT:        Not applicable
  5760.  
  5761. DESCRIPTION:    DTMF_DIAL_COMMAND dials the digits stored at 
  5762. BUFFER_AREA. The dial command does not connect the phone line. The line 
  5763. must be connected with an OFF_HOOK_COMMAND.
  5764.  
  5765. The dial string has several digits and modifiers. The DTMF digits supported are 
  5766. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *, #, A, B, C, D. The dial modifiers are:
  5767.  
  5768. JT Fax 9600B COMPATIBILITY
  5769. First byte: 'P' - Pulse Dial    'T' - Tone Dial 
  5770. Second byte: 'W' - Wait for Dial Tone     ' ' - Do not Wait 
  5771.  
  5772. If the first two bytes are 'MA' (Manual Dial) a number will not be dialed.
  5773.  
  5774. JT Fax 14400B
  5775. --------------------------
  5776. P    - pulse dial
  5777. T    - tone dial
  5778. W    - wait for dialtone
  5779. ,    - 2 second pause
  5780. !    - flash hook
  5781. I    - no busy detect
  5782.  
  5783. Note: This command may be used in Voice offline mode.
  5784.  
  5785. EXAMPLE:            IDLE                    - FAX
  5786.                 (load string value in 
  5787.                   buffer_area)            - Host
  5788.                 DIAL_DTMF_COMMAND         - Host
  5789.                 BOARD_ACK_STATUS        - FAX
  5790.                 PC_ACK                - Host
  5791.                 IDLE_STATUS            - Fax
  5792.  
  5793. RELATED FUNCTIONS:     XMIT_COMMAND, 
  5794.                 DTMF_ON_TIME_COMMAND, 
  5795.                 DTMF_OFF_TIME_COMMAND
  5796.  
  5797.  
  5798. **************************************************************************
  5799. DTMF_Off_Command
  5800. Characteristic        Description
  5801. COMMAND:             DTMF_Off_Command
  5802. CODE:                 029H
  5803. CATEGORY:            Utility
  5804. DIRECTION:            Host to JT Fax
  5805. INPUT to JT:            None
  5806. OUTPUT from JT:        BOARD_ACK_STATUS
  5807. DEFAULT:            Not applicable
  5808.  
  5809. DESCRIPTION:        DTMF_OFF_COMMAND commands the JT Fax to 
  5810. terminate a DTMF tone. The command does not disconnect the line.
  5811.  
  5812. EXAMPLE:            IDLE                    - FAX
  5813.                 DTMF_OFF_COMMAND         - Host
  5814.                 BOARD_ACK_STATUS        - FAX
  5815.                 PC_ACK                - Host
  5816.                 IDLE_STATUS            - Fax
  5817.  
  5818. RELATED FUNCTIONS:     DTMF_ON_COMMAND, 
  5819.                 FAX_MODE_COMMAND, 
  5820.                 ON_HOOK_COMMAND
  5821.  
  5822.  
  5823. **************************************************************************
  5824. DTMF_Off_Time_Command
  5825. Characteristic        Description
  5826. COMMAND:             DTMF_Off_Time_Command
  5827. CODE:                 02BH
  5828. CATEGORY:            Configuration
  5829. DIRECTION:            Host to JT Fax
  5830. INPUT to JT:            DTMF time at OFFSET 00H in buffer area
  5831. OUTPUT from JT:        BOARD_ACK_STATUS
  5832. DEFAULT:            70 ms
  5833.  
  5834. DESCRIPTION:        DTMF_OFF_TIME_COMMAND configures the interdigit 
  5835. off time for automatic dialing of DTMF digits. The value specified is in 
  5836. milliseconds with a length of WORD. Max. value is 65 seconds. Standard 
  5837. minimum value is 65 ms. 
  5838.  
  5839. EXAMPLE:            IDLE                    - FAX
  5840.                 (load word value in 
  5841.                   buffer_area)            - Host
  5842.                 DTMF_OFF_TIME_COMMAND -    - Host
  5843.                 BOARD_ACK_STATUS        - FAX
  5844.                 PC_ACK                - Host
  5845.                 IDLE_STATUS            - Fax
  5846.  
  5847. RELATED FUNCTIONS:     XMIT_COMMAND, 
  5848.                 DTMF_DIAL_COMMAND, 
  5849.                 DTMF_ON_TIME_COMMAND
  5850.  
  5851.  
  5852. **************************************************************************
  5853. DTMF_On_Command
  5854. Characteristic        Description
  5855. COMMAND:             DTMF_On_Command
  5856. CODE:                 028H
  5857. CATEGORY:            Utility
  5858. DIRECTION:            Host to JT Fax
  5859. INPUT to JT:            DTMF tone digit at OFFSET 00H in buffer area
  5860. OUTPUT from JT:        BOARD_ACK_STATUS
  5861. DEFAULT:            Not applicable
  5862.  
  5863. DESCRIPTION:        DTMF_ON_COMMAND commands the JT Fax to send a 
  5864. DTMF digit specified by the value in BUFFER_AREA. The duration of the tone is 
  5865. controlled by the Host. The command does not connect the phone line. The tone 
  5866. is terminated by the DTMF_OFF_COMAMND.
  5867.  
  5868. Note: JT Fax must be in Fax mode for Utility commands.
  5869.  
  5870. EXAMPLE:            IDLE                    - FAX
  5871.                 (load digit in buffer area)    - Host
  5872.                 DTMF_ON_COMMAND         - Host
  5873.                 BOARD_ACK_STATUS        - FAX
  5874.                 PC_ACK                - Host
  5875.                 IDLE_STATUS            - Fax
  5876.  
  5877. RELATED FUNCTIONS:     DTMF_OFF_COMMAND,
  5878.                 FAX_MODE_COMMAND, 
  5879.                 OFF_HOOK_COMMAND
  5880.  
  5881.  
  5882. **************************************************************************
  5883. DTMF_On_Time_Command
  5884. Characteristic        Description
  5885. COMMAND:             DTMF_On_Time_Command
  5886. CODE:                 029H
  5887. CATEGORY:            Configuration
  5888. DIRECTION:            Host to JT Fax
  5889. INPUT to JT:            DTMF time at OFFSET 00H in buffer area
  5890. OUTPUT from JT:        BOARD_ACK_STATUS
  5891. DEFAULT:            70 ms
  5892.  
  5893. DESCRIPTION:        DTMF_ON_TIME_COMMAND sets the on-time for 
  5894. automatic dialing of DTMF digits. The value specified is in milliseconds with a 
  5895. length of WORD. Max. value is 65 seconds. The standard minimum value is 65 
  5896. ms. 
  5897.  
  5898. EXAMPLE:            IDLE                    - FAX
  5899.                 (load word value in buffer_area)- Host
  5900.                 DTMF_ON_TIME_COMMAND     - Host
  5901.                 BOARD_ACK_STATUS        - FAX
  5902.                 PC_ACK                - Host
  5903.                 IDLE_STATUS            - Fax
  5904.  
  5905. RELATED FUNCTIONS:     XMIT_COMMAND, 
  5906.                 DTMF_DIAL_COMMAND, 
  5907.                 DTMF_OFF_TIME_COMMAND
  5908.  
  5909.  
  5910. **************************************************************************
  5911. Enhanced_Mode_Off_Command
  5912. Characteristic        Description
  5913. COMMAND:             Enhanced_Mode_Off_Command
  5914. CODE:                 053H
  5915. CATEGORY:            Configuration - Compatibility
  5916. DIRECTION:            Host to JT Fax
  5917. INPUT to JT:            None
  5918. OUTPUT from JT:        BOARD_ACK
  5919. DEFAULT:            Not applicable
  5920.  
  5921. DESCRIPTION:        The ENHANCED_MODE_OFF_COMMAND allows the JT 
  5922. Fax 14400B to operate in 9600B compatible mode. All status messages, error 
  5923. codes and speeds provided by the 14400B are disabled.
  5924.  
  5925. EXAMPLE:            IDLE                    - FAX
  5926.                 ENHANCED_MODE_OFF_COMMAND - Host
  5927.                 BOARD_ACK_STATUS        - FAX
  5928.                 PC_ACK                - Host
  5929.                 IDLE                    - FAX
  5930.  
  5931. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND, 
  5932.                 FAX_144_MODE_OFF_COMMAND, 
  5933.                 ENHANCED_MODE_ON_COMMAND
  5934.  
  5935.  
  5936. **************************************************************************
  5937. Enhanced_Mode_On_Command
  5938. Characteristic        Description
  5939. COMMAND:             Enhanced_Mode_On_Command
  5940. CODE:                 052H
  5941. CATEGORY:            Configuration - Compatibility
  5942. DIRECTION:            Host to JT Fax
  5943. INPUT to JT:            None
  5944. OUTPUT from JT:        BOARD_ACK
  5945. DEFAULT:            Not applicable
  5946.  
  5947. DESCRIPTION:        The ENHANCED_MODE_ON_COMMAND allows the JT 
  5948. Fax 14400B to operate in enhanced mode. All status messages, error codes and 
  5949. speeds provided by the 14400B are enabled.
  5950.  
  5951. EXAMPLE:            IDLE                    - FAX
  5952.                 ENHANCED_MODE_ON_COMMAND    - Host
  5953.                 BOARD_ACK_STATUS        - FAX
  5954.                 PC_ACK                - Host
  5955.                 IDLE                    - FAX
  5956.  
  5957. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND, 
  5958.                 FAX_144_MODE_ON_COMMAND, 
  5959.                 ENHANCED_MODE_OFF_COMMAND
  5960.  
  5961.  
  5962. **************************************************************************
  5963. EOD_Flag
  5964. Characteristic        Description
  5965. COMMAND:             EOD_Flag
  5966. CODE:                 076H
  5967. CATEGORY:            Voice 
  5968. DIRECTION:            Host to JT Fax
  5969. INPUT to JT:            None
  5970. OUTPUT from JT:        None
  5971. DEFAULT:            Not applicable
  5972.  
  5973. DESCRIPTION:        The EOD_FLAG terminates the DTMF search. Any 
  5974. other command can be issued after this command sequence is complete.
  5975.  
  5976. EXAMPLE:            IDLE                    - FAX
  5977.                 GET_DTMF_COMMAND        - Host
  5978.                 BOARD_ACK_COMMAND        - FAX
  5979.                 ...byte in data_area            - FAX
  5980.                 DTMF_DETECT_STATUS        - FAX
  5981.                 ...retrieve byte from data_area    - Host
  5982.                 PC_ACK                - Host
  5983.                 ...continue looking  for DTMF    - FAX
  5984.                     .
  5985.                     .
  5986.                     .
  5987.                 EOD_FLAG                - HOST
  5988.                 BOARD_ACK_COMMAND        - FAX
  5989.                 PC_ACK                - Host
  5990.                 IDLE                    - FAX
  5991.  
  5992. RELATED FUNCTIONS:     "Voice and DTMF"
  5993.  
  5994.  
  5995. **************************************************************************
  5996. EOPFLAG
  5997. Characteristic        Description
  5998. COMMAND:             EOPFLAG
  5999. CODE:                 08H
  6000. CATEGORY:            Fax 
  6001. DIRECTION:            JT Fax to Host
  6002. INPUT to JT:            None
  6003. OUTPUT from JT:        None
  6004. DEFAULT:            Not applicable
  6005.  
  6006. DESCRIPTION:    EOPFLAG signifies that an end of page is necessary. The 
  6007. Host may elect to use the LINE_COUNT field in the API block for setting an end 
  6008. of page. The Fax page is transmitted until the line count is reached ( MIN_PAGE 
  6009. = non zero) and an EOP is issued to the called device. If the FAX page was short 
  6010. and a standard page length is used, then the LINECOUNT field sets the page 
  6011. length (MIN_PAGE = 0). All pages are the length of LINECOUNT.
  6012.  
  6013. When using the EOPFLAG a PC_ACK command is not necessary.
  6014.  
  6015. EXAMPLE:            LOAD_DATA_COMMAND        - FAX
  6016.                 ...load data                 - Host
  6017.                 PC_ACK                 - Host
  6018.                 LOAD_DATA_COMMAND        - FAX
  6019.                 ...load data                 - Host
  6020.                 PC_ACK                 - Host
  6021.                      .
  6022.                      .
  6023.                      .
  6024.                 LOAD_DATA_COMMAND        - FAX
  6025.                 ...load data                 - Host
  6026.                 EOPFLAG                - Host
  6027.                 LOAD_DATA_COMMAND        - FAX
  6028.                      .
  6029.                      .
  6030.                      .
  6031.  
  6032. RELATED FUNCTIONS:     LOAD_DATA_COMMAND, 
  6033.                 EOTFLAG
  6034.  
  6035.  
  6036. **************************************************************************
  6037. EOTFLAG
  6038. Characteristic        Description
  6039. COMMAND:             EOTFLAG
  6040. CODE:                 0FH
  6041. CATEGORY:            Fax 
  6042. DIRECTION:            JT Fax to Host
  6043. Host to JT Fax
  6044. INPUT to JT:            None
  6045. OUTPUT from JT:        None
  6046. DEFAULT:            Not applicable
  6047.  
  6048. DESCRIPTION:        EOTFLAG signifies an end of data transfer. The Fax 
  6049. command can be issued from either the Host or JT Fax. The Host issues the 
  6050. command in the XMIT_MODE to end data transmission, or in downloadable fonts 
  6051. to end the font download. The JT Fax issues the command to end a Fax reception.
  6052.  
  6053. EXAMPLE:            IDLE                    - FAX
  6054.                 (load phone number 
  6055.                 in buffer area)             - Host
  6056.                 XMIT_COMMAND             - Host
  6057.                 BOARD_ACK_STATUS        - FAX
  6058.                 ...load header            - Host
  6059.                 PC_ACK                 - Host
  6060.                 LOAD_DATA_COMMAND        - FAX
  6061.                 ...load data and set format        - Host
  6062.                 ...set number bytes            - Host
  6063.                 PC_ACK                 - Host
  6064.                 LOAD_DATA_COMMAND        - FAX
  6065.                 ...load data                 - Host
  6066.                 EOTFLAG                 - Host
  6067.                      .
  6068.                      .
  6069.                      .
  6070.                 IDLE                     - FAX
  6071.  
  6072. RELATED FUNCTIONS:     XMIT_COMMAND, 
  6073.                 LOAD_DATA_COMMAND, 
  6074.                 RECVINIT, 
  6075.                 LOADFONT_COMMAND, 
  6076.                 "Error Codes╙, 
  6077.                 EOV_FLAG
  6078.  
  6079.  
  6080. **************************************************************************
  6081. EOV_FLAG
  6082. Characteristic        Description
  6083. COMMAND:             EOV_FLAG
  6084. CODE:                 066H
  6085. CATEGORY:            Voice
  6086. DIRECTION:            Host to JT Fax
  6087. INPUT to JT:            None
  6088. OUTPUT from JT:        Recorded data in DATA_AREA
  6089.                 LOAD_DATA_COMMAND
  6090. DEFAULT:            Not applicable
  6091.  
  6092. DESCRIPTION:    The EOV_FLAG notifies the Host/Fax that the last buffer of 
  6093. data is in the DATA_AREA. This command is issued after a 
  6094. PLAY_START_COMMAND sequence. The command is used for voice data only. 
  6095.  
  6096. EXAMPLE:            REC_START_COMMAND        - Host
  6097.                 BOARD_ACK_COMMAND        - FAX
  6098.                 ...load data in DATA_AREA        - FAX
  6099.                 ...set number bytes            - FAX
  6100.                 LOAD_DATA_COMMAND        - FAX
  6101.                 ...load data from DATA_AREA    - Host
  6102.                 PC_ACK                - Host
  6103.                 ...load data in DATA_AREA        - FAX
  6104.                 ...set number bytes            - FAX
  6105.                 LOAD_DATA_COMMAND        - FAX
  6106.                 ...load data from DATA_AREA    - Host
  6107.                 REC_STOP_COMMAND        - Host
  6108.                 ...load data in DATA_AREA        - FAX
  6109.                 ...set number bytes            - FAX
  6110.                 EOV_FLAG                 - FAX
  6111.                 ...load data from  DATA_AREA    - Host
  6112.                 PC_ACK                - Host
  6113.                 IDLE                     - FAX
  6114.  
  6115. RELATED FUNCTIONS:     "Voice and DTMF", 
  6116.                 REC_START_COMMAND, 
  6117.                 RECVINIT_COMMAND
  6118.  
  6119.  
  6120. **************************************************************************
  6121. Error
  6122. Characteristic        Description
  6123. COMMAND:             Error
  6124. CODE:                 06H
  6125. CATEGORY:            Status
  6126. DIRECTION:            JT Fax to Host
  6127. INPUT to JT:            IDLE
  6128. OUTPUT from JT:        RET_CODE contains error code
  6129. DEFAULT:            Not applicable
  6130.  
  6131. DESCRIPTION:        ERROR signifies that an error has occurred. The 
  6132. type of error can be retrieved from the RET_CODE field. ERROR does require the 
  6133. host to reset the COMMAND_DATA field to IDLE when the error code is read.
  6134.  
  6135. EXAMPLE:        IDLE                        - FAX
  6136.             (load phone number in buffer area)    - Host
  6137.             XMIT_COMMAND                 - Host
  6138.             BOARD_ACK_STATUS            - FAX
  6139.             ...load header                - Host
  6140.             PC_ACK                     - Host
  6141.             LOAD_DATA_COMMAND            - FAX
  6142.             ...load data and set format            - Host
  6143.             ...set number bytes                - Host
  6144.             PC_ACK                     - Host
  6145.             LOAD_DATA_COMMAND            - FAX
  6146.             ...load data                     - Host
  6147.             PC_ACK                    - Host
  6148.                 .
  6149.                 .
  6150.                 .
  6151.             ERROR                     - JT Fax
  6152.             BUSY(ret_code field)            - JT Fax
  6153.             (check ret_code)                - Host
  6154.             IDLE                         - Host
  6155.  
  6156. RELATED FUNCTIONS:     XMIT_COMMAND, 
  6157.                 LOAD_DATA_COMMAND, 
  6158.                 RECVINIT,
  6159.                 Error Codes
  6160.  
  6161.  
  6162. **************************************************************************
  6163. Extend_Status_Off_Command
  6164. Characteristic    Description
  6165. COMMAND:         Extend_Status_Off_Command
  6166. CODE:             04FH
  6167. CATEGORY:        Configuration - Compatibility
  6168. DIRECTION:        Host to JT Fax
  6169. INPUT to JT:        None
  6170. OUTPUT from JT:    BOARD_ACK
  6171. DEFAULT:        Not applicable
  6172.  
  6173. DESCRIPTION:    The EXTEND_STATUS_OFF_COMMAND disables the extended 
  6174. status available to the Host with the JT Fax 14400B. The status codes do not 
  6175. appear in the STATUS field of the API block and the status command is not 
  6176. issued.
  6177.  
  6178. EXAMPLE:        IDLE                        - FAX
  6179.             EXTEND_STATUS_OFF_COMMAND        - Host
  6180.             BOARD_ACK_STATUS            - FAX
  6181.             PC_ACK                    - Host
  6182.             IDLE                        - FAX
  6183.  
  6184. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND,
  6185.                 STATUS_COMMAND
  6186.  
  6187.  
  6188. **************************************************************************
  6189. Extend_Status_On_Command
  6190. Characteristic    Description
  6191. COMMAND:         Extend_Status_On_Command
  6192. CODE:             04EH
  6193. CATEGORY:        Configuration - Compatibility
  6194. DIRECTION:        Host to JT Fax
  6195. INPUT to JT:        None
  6196. OUTPUT from JT:    BOARD_ACK
  6197. DEFAULT:        Not applicable
  6198.  
  6199. DESCRIPTION:    The EXTEND_STATUS_ON command enables the 
  6200. extended status available to the Host with the JT Fax 14400B. The status codes 
  6201. appear in the STATUS field of the API block after the status command is issued.
  6202.  
  6203. EXAMPLE:        IDLE                        - FAX
  6204.             EXTEND_STATUS_ON_COMMAND        - Host
  6205.             BOARD_ACK_STATUS            - FAX
  6206.             PC_ACK                    - Host
  6207.             IDLE                        - FAX
  6208.  
  6209. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND,
  6210.                 STATUS_COMMAND
  6211.  
  6212.  
  6213. **************************************************************************
  6214. FAX_144_Mode_Off_Command
  6215. Characteristic    Description
  6216. COMMAND:         FAX_144_Mode_Off_Command
  6217. CODE:             051H
  6218. CATEGORY:        Configuration - Compatibility
  6219. DIRECTION:        Host to JT Fax
  6220. INPUT to JT:        None
  6221. OUTPUT from JT:    BOARD_ACK
  6222. DEFAULT:        Not applicable
  6223.  
  6224. DESCRIPTION:    The FAX_144_MODE_OFF_COMMAND allows the JT Fax 14400B 
  6225. to be compatible with the JT Fax 9600B. This command is included due to the 
  6226. change in the speed indexes for 14,400 bps.
  6227.  
  6228. EXAMPLE:        IDLE                        - FAX
  6229.             FAX_144_MODE_OFF_COMMAND        - Host
  6230.             BOARD_ACK_STATUS            - FAX
  6231.             PC_ACK                    - Host
  6232.             IDLE                        - FAX
  6233.  
  6234. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND,
  6235.                 FAX_144_MODE_ON_COMMAND, 
  6236.                 ENHANCED_MODE_OFF_COMMAND
  6237.  
  6238.  
  6239. **************************************************************************
  6240. FAX_144_Mode_On_Command
  6241. Characteristic    Description
  6242. COMMAND:         FAX_144_Mode_On_Command
  6243. CODE:             050H
  6244. CATEGORY:        Configuration - Compatibility
  6245. DIRECTION:        Host to JT Fax
  6246. INPUT to JT:        None
  6247. OUTPUT from JT:    BOARD_ACK
  6248. DEFAULT:        Not applicable
  6249.  
  6250. DESCRIPTION:    The FAX_144_MODE_ON_COMMAND allows the JT Fax 14400B 
  6251. to enable reception of Faxes at the 14,400 bps rate. This command is included 
  6252. due to the change in the speed indexes for 14,400 bps. An index value of 5 in 
  6253. the BAUD_RATE field indicates 14,400 bps and a 4 indicates 12,000 bps. This 
  6254. command only affects the speed.
  6255.  
  6256. EXAMPLE:        IDLE                        - FAX
  6257.             FAX_144_MODE_ON_COMMAND        - Host
  6258.             BOARD_ACK_STATUS            - FAX
  6259.             PC_ACK                    - Host
  6260.             IDLE                        - FAX
  6261.  
  6262. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND,
  6263.                 FAX_144_MODE_OFF_COMMAND, 
  6264.                 ENHANCED_MODE_ON_COMMAND
  6265.  
  6266.  
  6267. **************************************************************************
  6268. FAX_Mode_Command
  6269. Characteristic    Description
  6270. COMMAND:         FAX_Mode_Command
  6271. CODE:             026H
  6272. CATEGORY:        Configuration
  6273. DIRECTION:        Host to JT Fax
  6274. INPUT to JT:        None
  6275. OUTPUT from JT:    BOARD_ACK_STATUS
  6276. DEFAULT:        MODEM MODE in Command State
  6277.             FAX MODE is automatic with Fax commands
  6278.  
  6279. DESCRIPTION:    The FAX_MODE_COMMAND is required for all Utility 
  6280. commands. The command also allows JT Fax to control the Telco line interface 
  6281. instead of requiring OEM daughter cards. PC Bus access is available in both Fax 
  6282. and Modem mode. If a daughter card is not attached, Modem mode will not be 
  6283. necessary for JT Fax.
  6284.  
  6285. EXAMPLE:            IDLE                    - FAX
  6286.                 FAX_MODE_COMMAND         - Host
  6287.                 BOARD_ACK_STATUS        - FAX
  6288.                 PC_ACK                - Host
  6289.                 IDLE                     - FAX
  6290.                 OFF_HOOK_COMMAND        - Host
  6291.  
  6292. RELATED FUNCTIONS:     MODEM_MODE_COMMAND, 
  6293.                 "Utility Commands"
  6294.  
  6295.  
  6296. **************************************************************************
  6297. Gain_Down_Command
  6298. Characteristic    Description
  6299. COMMAND:         Gain_Down_Command
  6300. CODE:             068H
  6301. CATEGORY:        Voice - Configuration
  6302. DIRECTION:        Host to JT Fax
  6303. INPUT to JT:        None
  6304. OUTPUT from JT:    BOARD_ACK_COMMAND
  6305. DEFAULT:        43.8 dB
  6306.  
  6307. DESCRIPTION:    The GAIN_DOWN_COMMAND decrements the maximum gain 
  6308. of the voice record by 1 dB. The maximum gain should only be changed during 
  6309. recording to achieve a better quality of voice recording. The value is retained 
  6310. between recordings.
  6311.  
  6312. EXAMPLE:        IDLE                        - FAX
  6313.             GAIN_DOWN_COMMAND            - Host
  6314.             BOARD_ACK_COMMAND            - FAX
  6315.             PC_ACK                    - Host
  6316.             IDLE                        - FAX
  6317.             REC_START_COMMAND            - Host
  6318.             BOARD_ACK_COMMAND            - FAX
  6319.             ...load data in DATA_AREA            - FAX
  6320.             ...set number bytes                - FAX
  6321.             LOAD_DATA_COMMAND            - FAX
  6322.                 .
  6323.                 .
  6324.                 .
  6325.             EOV_FLAG                     - FAX
  6326.             ...load data from DATA_AREA        - Host
  6327.             PC_ACK                    - Host
  6328.             IDLE                        - FAX
  6329.  
  6330. RELATED FUNCTIONS:     "Voice and DTMF", 
  6331.                 REC_START_COMMAND
  6332.  
  6333.  
  6334. **************************************************************************
  6335. Gain_Up_Command
  6336. Characteristic    Description
  6337. COMMAND:         Gain_Up_Command
  6338. CODE:             067H
  6339. CATEGORY:        Voice - Configuration
  6340. DIRECTION:        Host to JT Fax
  6341. INPUT to JT:        None
  6342. OUTPUT from JT:    BOARD_ACK_COMMAND
  6343. DEFAULT:        43.8 dB
  6344.  
  6345. DESCRIPTION:    The GAIN_UP_COMMAND increments the maximum gain of 
  6346. the voice record by 1 dB. The maximum gain should only be changed during 
  6347. recording to achieve a better quality of voice recording. The value is retained 
  6348. between recordings.
  6349.  
  6350. EXAMPLE:        IDLE                        - FAX
  6351.             GAIN_UP_COMMAND            - Host
  6352.             BOARD_ACK_COMMAND            - FAX
  6353.             PC_ACK                    - Host
  6354.             IDLE                        - FAX
  6355.             REC_START_COMMAND            - Host
  6356.             BOARD_ACK_COMMAND            - FAX
  6357.             ...load data in DATA_AREA            - FAX
  6358.             ...set number bytes                - FAX
  6359.             LOAD_DATA_COMMAND            - FAX
  6360.                 .
  6361.                 .
  6362.                 .
  6363.             EOV_FLAG                     - FAX
  6364.             ...load data from DATA_AREA        - Host
  6365.             PC_ACK                    - Host
  6366.             IDLE                         - FAX
  6367.  
  6368. RELATED FUNCTIONS:     "Voice and DTMF", 
  6369.                 REC_START_COMMAND
  6370.  
  6371.  
  6372. **************************************************************************
  6373. Get_DTMF_Command
  6374. Characteristic    Description
  6375. COMMAND:         Get_DTMF_Command
  6376. CODE:             075H
  6377. CATEGORY:        Voice 
  6378. DIRECTION:        Host to JT Fax
  6379. INPUT to JT:        None
  6380. OUTPUT from JT:    Byte value in DATA_AREA
  6381. DEFAULT:        Not applicable
  6382. DESCRIPTION:    The GET_DTMF_COMMAND can also be used in command 
  6383. state. The command initiates DTMF mode and continually searches for DTMF 
  6384. tones. The EOD_FLAG terminates the DTMF search. Any other command can be 
  6385. issued after this command. The "on/off hook" is controlled by the Host. 
  6386.  
  6387. EXAMPLE:        IDLE                        - FAX
  6388.             GET_DTMF_COMMAND            - Host
  6389.             BOARD_ACK_STATUS            - FAX
  6390.             ...byte in data_area                - FAX
  6391.             DTMF_DETECT_STATUS            - FAX
  6392.             ...retrieve byte from data_area        - Host
  6393.             PC_ACK                    - Host
  6394.             ...continue looking for DTMF        - FAX
  6395.                 .
  6396.                 .
  6397.                 .
  6398.             EOD_FLAG                    - HOST
  6399.             BOARD_ACK_COMMAND            - FAX
  6400.             PC_ACK                    - Host
  6401.             IDLE                        - FAX
  6402.  
  6403. RELATED FUNCTIONS:     "Voice and DTMF", 
  6404.                 EOD_FLAG
  6405.  
  6406.  
  6407. **************************************************************************
  6408. Good_Init
  6409. Characteristic    Description
  6410. COMMAND:         Good_Init
  6411. CODE:             0F0H
  6412. CATEGORY:        FAX - Compatibility 
  6413. DIRECTION:        JT Fax to Host
  6414. INPUT to JT:        None
  6415. OUTPUT from JT:    None
  6416. DEFAULT:        Not applicable
  6417.  
  6418. DESCRIPTION:    The GOOD_INIT command is issued after a 
  6419. BOARD_SYNC_COMMAND is received following power up. It indicates that the 
  6420. FAX is ready for commands and the ROM/RAM test was good.
  6421.  
  6422. EXAMPLE:        BOARD_SYNC_COMMAND            - Host
  6423.             GOOD_INIT                    - FAX
  6424.             PC_ACK                    - Host
  6425.             IDLE                        - FAX
  6426.  
  6427. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  6428.                 HARDWARE_RESET_COMMAND
  6429.  
  6430.  
  6431. **************************************************************************
  6432. Hardware_Reset_Command
  6433. Characteristic    Description
  6434. COMMAND:         Hardware_Reset_Command
  6435. CODE:             030H
  6436. CATEGORY:        Control
  6437. DIRECTION:        Host to JT Fax
  6438. INPUT to JT:        None
  6439. OUTPUT from JT:    None
  6440. DEFAULT:        Not applicable
  6441.  
  6442. DESCRIPTION:    The HARDWARE_RESET_COMMAND instructs JT Fax to 
  6443. initiate a "power on reset" function. The command is placed in the API block 
  6444. location, RESET_BOARD, at offset 51H. When RESET_BOARD is set to a 
  6445. HARDWARE_RESET_COMMAND, then the following happens:
  6446.  
  6447.     Ñ    RAM and ROM test is executed
  6448.     Ñ    data pump is reset, memory cleared 
  6449.     Ñ    all options set to default conditions. 
  6450.  
  6451. After six seconds, JT Fax starts waiting for a SYNC_COMMAND from the Host. A 
  6452. SYNC_COMMAND must be issued by the Host before any commands can be 
  6453. accepted. 
  6454.  
  6455. Note: This command should be used a last resort because it resets the JT Fax 
  6456. hardware and all user configurations to default.
  6457.  
  6458. EXAMPLE:        IDLE                        - FAX
  6459.             HARDWARE_RESET_COMMAND        - Host
  6460.             (wait for 6 seconds)
  6461.             SYNC_COMMAND                - Host
  6462.             IDLE_STATUS                - FAX
  6463.  
  6464. RELATED FUNCTIONS:     SYNC_COMMAND, 
  6465.                 SOFTWARE_RESET_COMMAND
  6466.  
  6467.  
  6468. **************************************************************************
  6469. Idle_Status
  6470. Characteristic    Description
  6471. COMMAND:         Idle_Status
  6472. CODE:             01H
  6473. CATEGORY:        Status
  6474. DIRECTION:        JT Fax to Host
  6475.             Host to JT Fax
  6476. INPUT to JT:        None
  6477. OUTPUT from JT:    None
  6478. DEFAULT:        Not applicable
  6479.  
  6480. DESCRIPTION:    IDLE_STATUS is a compatibility status code/command. The 
  6481. command is issued to reset the Command field. The command is used by the Host 
  6482. in response to a BOARD_ACK_STATUS, or by JT Fax in response to a PC_ACK 
  6483. command or when in command state waiting for command. This command 
  6484. should only be used while in command state.
  6485.  
  6486. EXAMPLE:        IDLE                        - FAX
  6487.             (load time in buffer area            - Host
  6488.             SET_CARRIER_COMMAND             - Host
  6489.             BOARD_ACK_STATUS            - FAX
  6490.             PC_ACK                    - Host
  6491.             IDLE                        - Host
  6492.  
  6493. RELATED FUNCTIONS:     BOARD_ACK_STATUS, 
  6494.                 PC_ACK
  6495.  
  6496.  
  6497. **************************************************************************
  6498. Load_Data_Command
  6499. Characteristic    Description
  6500. COMMAND:         Load_Data_Command
  6501. CODE:             03H
  6502. CATEGORY:        FAX 
  6503. DIRECTION:        JT Fax to Host
  6504. INPUT to JT:        Data in DATA_AREA
  6505.             PC_ACK
  6506.             EOTFLAG 
  6507.             EOPFLAG
  6508. OUTPUT from JT:    none 
  6509.             LOAD_DATA_COMMAND
  6510.             EOTFLAG (receive mode only)
  6511. DEFAULT:        Not applicable
  6512.  
  6513. DESCRIPTION:    The LOAD_DATA_COMMAND is used when large amounts of 
  6514. data are needed. The direction of the load depends on the mode selected. 
  6515.  
  6516. If in TRANSMIT_MODE, the load data command is issued by JT Fax to indicate 
  6517. that data is ready to be received from the Host in the DATA_AREA. Once all the 
  6518. data has been placed in the DATA_AREA, the Host issues a PC_ACK. 
  6519.  
  6520. In the RECEIVE_MODE, the command is issued by JT Fax to alert the Host that 
  6521. data is available in the data area to be retrieved. After the Host retrieves the 
  6522. data, the host issues a PC_ACK.
  6523.  
  6524. EXAMPLE:        RECEIVE_MODE only
  6525.             RECVINIT                    - JT Fax
  6526.             (Host load ID in Buffer Area)
  6527.             PC_ACK                    - Host
  6528.             LOAD_DATA_COMMAND            - JT Fax
  6529.             (Host retrieves data)
  6530.             PC_ACK                    - Host
  6531.                 .
  6532.                 .
  6533.                 .
  6534.             EOT                        - JT Fax
  6535.  
  6536. RELATED FUNCTIONS:     EOT_FLAG, 
  6537.                 RECVINIT, 
  6538.                 PC_ACK
  6539.  
  6540.  
  6541. **************************************************************************
  6542. Load_Font_Command
  6543. Characteristic    Description
  6544. COMMAND:         Load_Font_Command
  6545. CODE:             04H
  6546. CATEGORY:        FAX 
  6547. DIRECTION:        Host to JT Fax
  6548. INPUT to JT:        Font Data in DATA_AREA
  6549.             EOTFLAG
  6550. OUTPUT from JT:    BOARD_ACK
  6551.             FONT_TOO_LARGE
  6552. DEFAULT:        Not applicable
  6553.  
  6554. DESCRIPTION:    The LOAD_FONT_COMMAND is used to load the predefined JT 
  6555. Fax fonts or a user designed font (see Chapter 7). The font would be used only 
  6556. in transmit mode and file type ASCII_TYPE. Since the font data is larger than 
  6557. the DATA area several LOAD_DATA_COMMANDS would be issued by JT Fax.
  6558.  
  6559. Issuing a HARD_RESET_COMMAND destroys a soft font, requiring a reload. 
  6560. Issuing a SOFT_RESET_COMMAND does not destroy a soft font.
  6561.  
  6562. EXAMPLE:        LOAD_FONT_COMMAND            - Host
  6563.             LOAD_DATA_COMMAND            - JT Fax
  6564.             ...load data in data_area            - Host
  6565.             PC_ACK                    - Host
  6566.             LOAD_DATA_COMMAND            - JT Fax
  6567.                 .
  6568.                 .
  6569.                 .
  6570.             EOT                        - Host
  6571.  
  6572. RELATED FUNCTIONS:     PC_ACK, EOT, 
  6573.                 LOAD_DATA_COMMAND, 
  6574.                 "JT Fax Fonts"
  6575.  
  6576.  
  6577. **************************************************************************
  6578. Manual_REC_Command
  6579. Characteristic    Description
  6580. COMMAND:         MANUAL_REC_COMMAND
  6581. CODE:             10H
  6582. CATEGORY:        Fax
  6583. DIRECTION:        Host to JT Fax 
  6584. INPUT to JT:        None
  6585. OUTPUT from JT:    BOARD_ACK
  6586. DEFAULT:        Not applicable
  6587.  
  6588. DESCRIPTION:    Manual receive enables the Host to force JT Fax to answer a 
  6589. call. The EXTEND_STATUS mode must be enabled before the STATUS command is 
  6590. received. A RING status appears in the STATUS_CODE field. After the status is 
  6591. retrieved, the Host returns the COMMAND field to IDLE.
  6592.  
  6593. EXAMPLE:        IDLE                        - FAX
  6594.             STATUS_COMMAND                - FAX
  6595.             ...retrieve status code ╥RING╙        - Host
  6596.             MANUAL_REC_COMMAND            - Host
  6597.             BOARD_ACK_STATUS            - FAX
  6598.             PC_ACK                    - Host
  6599.             LOAD_DATA_COMMAND            - FAX
  6600.             ...load data                     - Host
  6601.             PC_ACK                     - Host
  6602.             LOAD_DATA_COMMAND            - FAX
  6603.             ...load data                     - Host
  6604.             PC_ACK                     - Host
  6605.                  .
  6606.                  .
  6607.                  .
  6608.  
  6609. RELATED FUNCTIONS:     "Status Codes", 
  6610.                 STATUS_COMMAND
  6611.  
  6612.  
  6613. **************************************************************************
  6614. Modem_Mode_Command
  6615. Characteristic    Description
  6616. COMMAND:         Modem_Mode_Command
  6617. CODE:             027H
  6618. CATEGORY:        Configuration
  6619. DIRECTION:        Host to JT Fax
  6620. INPUT to JT:        None
  6621. OUTPUT from JT:    BOARD_ACK_STATUS
  6622. DEFAULT:        MODEM MODE in Command State
  6623.             FAX MODE is automatic with FAX commands
  6624.  
  6625. DESCRIPTION:        The MODEM_MODE_COMMAND is required to remove 
  6626. the previous FAX_MODE_COMMAND. The command also allows the OEM daughter 
  6627. Card to control the Telco line interface instead of JT Fax. PC Bus access is 
  6628. available in both Fax mode and Modem mode. If a Daughter card is not attached, 
  6629. Modem mode will not be necessary for JT Fax.
  6630.  
  6631. EXAMPLE:        IDLE                        - FAX
  6632.             FAX_MODE_COMMAND             - Host
  6633.             BOARD_ACK_STATUS            - FAX
  6634.             PC_ACK                    - Host
  6635.             IDLE                         - FAX
  6636.             OFF_HOOK_COMMAND            - Host
  6637.             BOARD_ACK_STATUS            - FAX
  6638.             PC_ACK                    - Host
  6639.             IDLE                         - FAX
  6640.             MODEM_MODE_COMMAND            - Host
  6641.             BOARD_ACK_STATUS            - FAX
  6642.             PC_ACK                    - Host
  6643.             IDLE                         - FAX
  6644.  
  6645. RELATED FUNCTIONS:     FAX_MODE_COMMAND
  6646.  
  6647.  
  6648. **************************************************************************
  6649. No_Busy_Command
  6650. Characteristic    Description
  6651. COMMAND:         No_Busy_Command
  6652. CODE:             02EH
  6653. CATEGORY:        Configuration 
  6654. DIRECTION:        Host to JT Fax
  6655. INPUT to JT:        None
  6656. OUTPUT from JT:    BOARD_ACK_STATUS
  6657. DEFAULT:        Detect Busy
  6658.  
  6659. DESCRIPTION:    The NO_BUSY_COMMAND instructs the JT Fax to ignore the 
  6660. busy signal.
  6661.  
  6662. EXAMPLE:        IDLE                        - FAX
  6663.             NO_BUSY_COMMAND             - Host
  6664.             BOARD_ACK_STATUS            - FAX
  6665.             PC_ACK                    - Host
  6666.             IDLE_STATUS                - Fax
  6667.  
  6668. RELATED FUNCTIONS:     XMIT_COMMAND, 
  6669.                 PULSE_DIAL_COMMAND, 
  6670.                 DTMF_DIAL_COMMAND
  6671.  
  6672.  
  6673. **************************************************************************
  6674. OEM_Code_Command
  6675. Characteristic    Description
  6676. COMMAND:         OEM_Code_Command
  6677. CODE:             079H
  6678. CATEGORY:        Utility 
  6679. DIRECTION:        Host to JT Fax
  6680. INPUT to JT:        None
  6681. OUTPUT from JT:    None
  6682. DEFAULT:        Not applicable
  6683.  
  6684. DESCRIPTION:    The OEM_CODE_COMMAND executes Host code that was 
  6685. downloaded to the Fax. The Fax utilizes a 16 MHz processor. The 
  6686. OEM_CODE_COMMAND executes custom assembly language code for the Host. The 
  6687. OEM code and data can be no larger than 28 KB. The OEM code has access to the 
  6688. command byte structure at 0:8000H. The code segment must be "0" and the code 
  6689. or data must start at 0:8800H. Additional 3K of RAM is available at 0:67D0H. (See 
  6690. Appendix F).
  6691.  
  6692. EXAMPLE:        IDLE                        - FAX
  6693.             OEM_CODE_COMMAND            - Host
  6694.             ...OEM code executes            - FAX
  6695.             ...OEM code terminates            - FAX
  6696.             BOARD_ACK_COMMAND            - FAX
  6697.             PC_ACK                    - Host
  6698.             IDLE                        - FAX
  6699.  
  6700. RELATED FUNCTIONS:     "OEM CODE ", 
  6701.                 OEM_LOAD_COMMAND
  6702.  
  6703.  
  6704. **************************************************************************
  6705. OEM_Load_Command
  6706. Characteristic    Description
  6707. COMMAND:         OEM_Load_Command
  6708. CODE:             07AH
  6709. CATEGORY:        Utility 
  6710. DIRECTION:        Host to JT Fax
  6711. INPUT to JT:        OEM code in DATA_AREA
  6712. OUTPUT from JT:    LOAD_DATA_COMMAND
  6713.             BOARD_ACK_COMMAND
  6714. DEFAULT:        Not applicable
  6715.  
  6716. DESCRIPTION:    The OEM_LOAD_COMMAND loads the OEM code into the Soft 
  6717. Font RAM. The OEM code and data can be no larger than 28 KB. The 
  6718. OEM_LOAD_COMMAND sequence is similar to the LOADFONT_COMMAND 
  6719. sequence. If the OEM code is larger than the space available, a 
  6720. FONT_TOO_LARGE error is returned. The load aborts when the error is reported. 
  6721. The OEM code remains in RAM until power up or a 
  6722. HARDWARE_RESET_COMMAND or LOAD_FONT_COMMAND is issued.
  6723.  
  6724. Note Soft fonts are not available when using this command.
  6725.  
  6726. EXAMPLE:        IDLE                        - FAX
  6727.             OEM_LOAD_COMMAND            - Host
  6728.             LOAD_DATA_COMMAND            - JT Fax
  6729.             ...Load OEM code into Data_area        - Host
  6730.             PC_ACK                    - Host
  6731.             LOAD_DATA_COMMAND            - JT Fax
  6732.                 .
  6733.                 .
  6734.                 .
  6735.             EOT                        - Host
  6736.             BOARD_ACK_COMMAND            - FAX
  6737.             PC_ACK                    - Host
  6738.             IDLE                        - FAX
  6739.  
  6740. RELATED FUNCTIONS:     "OEM CODE ", 
  6741.                 OEM_CODE_COMMAND, 
  6742.                 LOAD_FONT_COMMAND
  6743.  
  6744.  
  6745.  
  6746. **************************************************************************
  6747. Off_Hook_Command
  6748. Characteristic    Description
  6749. COMMAND:         Off_Hook_Command
  6750. CODE:             025H
  6751. CATEGORY:        Utility
  6752. DIRECTION:        Host to JT Fax
  6753. INPUT to JT:        None
  6754. OUTPUT from JT:    BOARD_ACK_COMMAND
  6755. DEFAULT:        Not applicable
  6756.  
  6757. DESCRIPTION:    The OFF_HOOK_COMMAND forces the JT Fax to go "Off-Hook" 
  6758. (i.e., pickup the phone). The command is used when the Host wants to initiate a 
  6759. dialing sequence (DTMF or Pulse). The OFF_HOOK_COMMAND returns to 
  6760. Command state after completion.
  6761.  
  6762. Note: JT Fax must be in FAX_MODE to use Utility commands.
  6763.  
  6764. EXAMPLE:        IDLE                        - FAX
  6765.             OFF_HOOK_COMMAND            - Host
  6766.             BOARD_ACK_STATUS            - FAX
  6767.             PC_ACK                    - Host
  6768.             IDLE                         - FAX
  6769.  
  6770. RELATED FUNCTIONS:     FAX_MODE_COMMAND, 
  6771.                 ON_HOOK_COMMAND
  6772.  
  6773.  
  6774. **************************************************************************
  6775. On_Hook_Command
  6776. Characteristic    Description
  6777. COMMAND:         On_Hook_Command
  6778. CODE:             024H
  6779. CATEGORY:        Utility
  6780. DIRECTION:        Host to JT Fax
  6781. INPUT to JT:        None
  6782. OUTPUT from JT:    BOARD_ACK_COMMAND
  6783. DEFAULT:        Not applicable
  6784.  
  6785. DESCRIPTION:        The ON_HOOK_COMMAND forces the JT Fax to go "on-
  6786. hook". The command is used after "OFF_HOOK_COMMAND" has been issued when 
  6787. the Host requires a return to "on-hook" condition (i.e., hang-up). The 
  6788. ON_HOOK_COMMAND returns to Command state after completion.
  6789.  
  6790. Note: JT Fax must be in FAX_MODE to use Utility commands.
  6791.  
  6792. EXAMPLE:            IDLE                    - FAX
  6793.                 ON_HOOK_COMMAND        - Host
  6794.                 BOARD_ACK_STATUS        - FAX
  6795.                 PC_ACK                - Host
  6796.                 IDLE                     - FAX
  6797.  
  6798. RELATED FUNCTIONS:     FAX_MODE_COMMAND, 
  6799.                 OFF_HOOK_COMMAND
  6800.  
  6801.  
  6802. **************************************************************************
  6803. Online_Voice_Record_Off
  6804. Characteristic    Description
  6805. COMMAND:         Online_Voice_Record_Off
  6806. CODE:             78H
  6807. CATEGORY:        Voice - Configuration 
  6808. DIRECTION:        Host to JT Fax
  6809. INPUT to JT:        None
  6810. OUTPUT from JT:    None
  6811. DEFAULT:        Off
  6812.  
  6813. DESCRIPTION:    This API command turns the online voice record option 
  6814. off. This command can be issued after the voice message has been received to 
  6815. prevent premature termination of tone or voice greeting messages.
  6816.  
  6817. EXAMPLE:        IDLE                        - Host
  6818.                 .
  6819.                 .
  6820.                 .
  6821.             ONLINE_VOICE_RECORD_ON        - Host
  6822.             BOARD_ACK                    - FAX
  6823.             PC_ACK                    - Host
  6824.             IDLE                         - FAX
  6825.             REC_START_COMMAND            - Host
  6826.                 .
  6827.                 .
  6828.                 .
  6829.             EOVFLAG                    - FAX
  6830.             ...Load data from Data Area        - Host
  6831.             PC_ACK                    - Host
  6832.             IDLE                         - FAX
  6833.             ONLINE_VOICE_RECORD_OFF        - Host
  6834.             BOARD_ACK                    - FAX
  6835.  
  6836. RELATED FUNCTIONS:     ONLINE_VOICE_RECORD_ON, 
  6837.                 EOVFLAG, 
  6838.                 RECORD_START_COMMAND
  6839.  
  6840.  
  6841. **************************************************************************
  6842. Online_Voice_Record_On
  6843. Characteristic    Description
  6844. COMMAND:         Online_Voice_Record_On
  6845. CODE:             77H
  6846. CATEGORY:        Voice - Configuration 
  6847. DIRECTION:        Host to JT Fax
  6848. INPUT to JT:        None
  6849. OUTPUT from JT:    None
  6850. DEFAULT:        Off
  6851.  
  6852. DESCRIPTION:    This API provides the option to record voice messages 
  6853. while online. The message is terminated after the caller disconnects and dial 
  6854. tone is detected. Since tones in the range of 350-620 Hz cause termination, it is 
  6855. necessary to disable this option during all other recordings.
  6856.  
  6857. EXAMPLE:        IDLE                        - Host
  6858.                 .
  6859.                 .
  6860.                 .
  6861.             SILENCE_DETECTED_STATUS        - FAX
  6862.                 .
  6863.                 .
  6864.                 .
  6865.             ONLINE_VOICE_RECORD_ON        - Host
  6866.             BOARD_ACK                    - FAX
  6867.             PC_ACK                    - Host
  6868.             REC_START_COMMAND            - Host
  6869.                 .
  6870.                 .
  6871.                 .
  6872.             EOVFLAG                    - FAX
  6873.             ...Load data from Data Area        - Host
  6874.             PC_ACK                    - Host
  6875.             IDLE                         - FAX
  6876.  
  6877. RELATED FUNCTIONS:     ONLINE_VOICE_RECORD_OFF, 
  6878.                 EOVFLAG, 
  6879.                 RECORD_START_COMMAND
  6880.  
  6881.  
  6882. **************************************************************************
  6883. PC_ACK
  6884. Characteristic    Description
  6885. COMMAND:         PC_ACK
  6886. CODE:             05H
  6887. CATEGORY:        STATUS handshake
  6888. DIRECTION:        Host to JT Fax
  6889. INPUT to JT:        None
  6890. OUTPUT from JT:    None, Idle
  6891. DEFAULT:        Not applicable
  6892.  
  6893. DESCRIPTION:    The PC_ACK command is used as acknowledgment between 
  6894. the PC software and the JT Fax 14400B. The response is appropriate when 
  6895. receiving a command from the JT Fax 14400 B Dual board. A PC_ACK does not 
  6896. require a response from the JT Fax 14400B Dual board.
  6897.  
  6898. EXAMPLE:            .
  6899.                 .
  6900.                 .
  6901.             GET_DTMF_COMMAND            - Host
  6902.             BOARD_ACK_STATUS            - JT Fax
  6903.             DTMF_DETECT_STATUS            - JT Fax
  6904.                 (retrieve DTMF code)
  6905.             PC_ACK                    - Host
  6906.     .
  6907.     .
  6908.     .
  6909.  
  6910. RELATED FUNCTIONS:     LOAD_DATA_COMMAND, 
  6911.                 RECVINIT, 
  6912.                 LOAD_FONT_COMMAND, 
  6913.                 BOARD_ACK_STATUS
  6914.  
  6915.  
  6916. **************************************************************************
  6917. Play_End_Command
  6918. Characteristic    Description
  6919. COMMAND:         Play_End_Command
  6920. CODE:             063H
  6921. CATEGORY:        Voice
  6922. DIRECTION:        Host to JT Fax
  6923. INPUT to JT:        None
  6924. OUTPUT from JT:    BOARD_ACK_STATUS
  6925. DEFAULT:        Not applicable
  6926.  
  6927. DESCRIPTION:    The PLAY_END_COMMAND stops the playback of a voice file 
  6928. in voice mode. The current buffer is deleted and the voice transmission is 
  6929. halted.
  6930.  
  6931. EXAMPLE:        PLAY_START_COMMAND            - Host
  6932.             BOARD_ACK_COMMAND            - FAX
  6933.             PC_ACK                    - Host
  6934.             LOAD_DATA_COMMAND            - FAX
  6935.             ...load data in DATA_AREA            - Host
  6936.             ...set number bytes                - Host
  6937.             PC_ACK                    - Host
  6938.             LOAD_DATA_COMMAND            - FAX
  6939.             PLAY_END_COMMAND            - Host
  6940.             BOARD_ACK_COMMAND            - FAX
  6941.             PC_ACK                    - Host
  6942.             IDLE                         - FAX
  6943.  
  6944. RELATED FUNCTIONS:     "Voice and DTMF", 
  6945.                 PLAY_START_COMMAND, 
  6946.                 EOV_FLAG
  6947.  
  6948.  
  6949. **************************************************************************
  6950. Play_Start_Command
  6951. Characteristic    Description
  6952. COMMAND:         Play_Start_Command
  6953. CODE:             062H
  6954. CATEGORY:        Voice 
  6955. DIRECTION:        Host to JT Fax
  6956. INPUT to JT:        Binary Voice data in DATA_AREA
  6957. OUTPUT from JT:    BOARD_ACK_STATUS
  6958. DEFAULT:        Not applicable
  6959.  
  6960. DESCRIPTION:    The PLAY_START_COMMAND initiates the playing of a 
  6961. recorded voice file. The command sequence is similar to a XMIT_COMMAND. An 
  6962. EOV_FLAG is issued when the last voice data is entered in DATA_AREA. The 
  6963. timing for loading data is the same as XMIT_COMMAND for JT Fax data formats.
  6964.  
  6965. EXAMPLE:        PLAY_START_COMMAND            - Host
  6966.             BOARD_ACK_COMMAND            - FAX
  6967.             PC_ACK                    - Host
  6968.             LOAD_DATA_COMMAND            - FAX
  6969.             ...load data in DATA_AREA            - Host
  6970.             ...set number bytes                - Host
  6971.             PC_ACK                    - Host
  6972.             LOAD_DATA_COMMAND            - FAX
  6973.             ...load data in DATA_AREA            - Host
  6974.             ...set number bytes                - Host
  6975.             PC_ACK                    - Host
  6976.             LOAD_DATA_COMMAND            - FAX
  6977.             ...load data in DATA_AREA            - Host
  6978.             ...set number bytes                - Host
  6979.             EOV_FLAG                    - Host    
  6980.             BOARD_ACK_COMMAND            - FAX
  6981.             PC_ACK                    - Host
  6982.             IDLE                         - FAX
  6983.  
  6984. RELATED FUNCTIONS:     "Voice and DTMF", 
  6985.                 CNG_DETECT_ON_COMMAND, 
  6986.                 ERRFLAG, 
  6987.                 NO_CNG_DETECT_ERROR, 
  6988.                 PLAY_STOP_COMMAND, 
  6989.                 EOV_FLAG
  6990.  
  6991.  
  6992. **************************************************************************
  6993. Pulse_Break_Command
  6994. Characteristic    Description
  6995. COMMAND:         Pulse_Break_Command
  6996. CODE:             03AH
  6997. CATEGORY:        Configuration
  6998. DIRECTION:        Host to JT Fax
  6999. INPUT to JT:        Word value in Buffer_Area in milliseconds
  7000. OUTPUT from JT:    BOARD_ACK_STATUS
  7001. DEFAULT:        60 milliseconds
  7002.  
  7003. DESCRIPTION:    The PULSE_BREAK_COMMAND requires the Host to set the 
  7004. value of the "BREAK" portion of the make/break ratio for pulse dialing. The 
  7005. value is written into buffer_area before the command is issued.
  7006.  
  7007. EXAMPLE:        IDLE                        - FAX
  7008.             PULSE_BREAK_COMMAND            - Host
  7009.             BOARD_ACK_STATUS            - FAX
  7010.             PC_ACK                    - Host
  7011.             IDLE                        - FAX
  7012.  
  7013. RELATED FUNCTIONS:     PULSE_MAKE_COMMAND, 
  7014.                 PULSE_DIAL_COMMAND
  7015.  
  7016.  
  7017. **************************************************************************
  7018. Pulse_Dial_Command
  7019. Characteristic    Description
  7020. COMMAND:         Pulse_Dial_Command
  7021. CODE:             02DH
  7022. CATEGORY:        Utility 
  7023. DIRECTION:        Host to JT Fax
  7024. INPUT to JT:        Pulse number at OFFSET 00H in buffer_area
  7025. Max. number length 60 characters.
  7026. OUTPUT from JT:    BOARD_ACK_STATUS
  7027. DEFAULT:        Not applicable
  7028.  
  7029. DESCRIPTION:    PULSE_DIAL_COMMAND dials the phone number at 
  7030. BUFFER_AREA. The command does not connect the phone line. The line must be 
  7031. connected with an OFF_HOOK_COMMAND. The dial string has several digits and 
  7032. modifiers. The DTMF digits supported are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. The dial 
  7033. modifiers are:
  7034.  
  7035. JT Fax 9600B COMPATIBILITY
  7036. -------------------------------
  7037. First byte: 
  7038.     'P' - Pulse Dial
  7039.     'T' - Tone Dial 
  7040. Second byte: 
  7041.     'W' - Wait for Dial Tone 
  7042.     ' ' - Do not Wait 
  7043.  
  7044. If the first two bytes are 'MA' (Manual Dial) a number will not be dialed.
  7045.  
  7046. JT Fax 14400B
  7047. ---------------------------
  7048. P    - pulse dial
  7049. T    - tone dial
  7050. W    - wait for dialtone
  7051. ,    - 2 second pause
  7052. !    - flash hook
  7053. I    - no busy detect
  7054.  
  7055. Note: JT Fax must be in Fax mode for Utility commands.
  7056.  
  7057. EXAMPLE:        IDLE                        - FAX
  7058.             (load string value in buffer_area)    - Host
  7059.             PULSE_DIAL_COMMAND             - Host
  7060.             BOARD_ACK_STATUS            - FAX
  7061.             PC_ACK                    - Host
  7062.             IDLE_STATUS                - Fax
  7063.     
  7064. RELATED FUNCTIONS:     XMIT_COMMAND, 
  7065.                 PULSE_INTER_COMMAND
  7066.  
  7067.  
  7068. **************************************************************************
  7069. Pulse_Inter_Command
  7070. Characteristic    Description
  7071. COMMAND:         Pulse_Inter_Command
  7072. CODE:             032H
  7073. CATEGORY:        Configuration
  7074. DIRECTION:        Host to JT Fax
  7075. INPUT to JT:        Time in milliseconds, WORD value in buffer_area
  7076. OUTPUT from JT:    BOARD_ACK_STATUS
  7077. DEFAULT:        600 milliseconds
  7078.  
  7079. DESCRIPTION:    The PULSE_INTER_COMMAND sets the interdigit time of the 
  7080. pulse dial. The units of the command are in milliseconds.
  7081.  
  7082. EXAMPLE:        IDLE                        - FAX
  7083.             (value in buffer_area)            - Host
  7084.             PULSE_INTER_COMMAND             - Host
  7085.             BOARD_ACK_STATUS            - FAX
  7086.             PC_ACK                     - Host
  7087.             IDLE_STATUS                - FAX
  7088.  
  7089. RELATED FUNCTIONS:     PULSE_BREAK_COMMAND, 
  7090.                 PULSE_MAKE_COMMAND
  7091.  
  7092.  
  7093. **************************************************************************
  7094. Pulse_Make_Command
  7095. Characteristic    Description
  7096. COMMAND:         Pulse_Make_Command
  7097. CODE:             03BH
  7098. CATEGORY:        Configuration
  7099. DIRECTION:        Host to JT Fax
  7100. INPUT to JT:        Word value in Buffer_Area in milliseconds
  7101. OUTPUT from JT:    BOARD_ACK_STATUS
  7102. DEFAULT:        40 milliseconds
  7103.  
  7104. DESCRIPTION:    The PULSE_MAKE_COMMAND requires the Host to set the 
  7105. value of the "make" portion of the make/break ratio for pulse dialing. The 
  7106. value is written into buffer_area before the command is issued.
  7107.  
  7108. EXAMPLE:        IDLE                        - FAX
  7109.             PULSE_MAKE_COMMAND            - Host
  7110.             BOARD_ACK_STATUS            - FAX
  7111.             PC_ACK                    - Host
  7112.             IDLE                        - FAX
  7113.  
  7114. RELATED FUNCTIONS:     PULSE_MAKE_COMMAND, 
  7115.                 PULSE_DIAL_COMMAND
  7116.  
  7117.  
  7118. *****************************************************************************
  7119. RecvInit
  7120. Characteristic    Description
  7121. COMMAND:         RecvInit
  7122. CODE:             10H
  7123. CATEGORY:        Fax 
  7124. DIRECTION:        JT Fax to Host
  7125. INPUT to JT:        PC_ACK
  7126. OUTPUT from JT:    None
  7127. DEFAULT:        Not applicable
  7128.  
  7129. DESCRIPTION:    RECVINIT command is issued to the Host when JT Fax detects 
  7130. an incoming call. The call may be a voice call or a fax call. It is up to the Host 
  7131. to make this determination (see Chapter 4) and decide to initiate voice 
  7132. procedures, disconnect, or continue the call. The default is to continue the call. 
  7133. If the caller is voice and CNG_DETECT is not enabled, the CED is transmitted and 
  7134. the call disconnects when Carrier timer expires. CNG detect mode has several 
  7135. options (see 
  7136. Chapter 4). 
  7137.  
  7138. EXAMPLE:        IDLE                        - FAX
  7139.             RECVINIT_COMMAND             - FAX
  7140.             ...(load ID into Buffer Area)        - FAX
  7141.             PC_ACK                    - Host
  7142.             LOAD_DATA_COMMAND            - FAX
  7143.             ...retrieve data                 - Host
  7144.             PC_ACK                     - Host
  7145.                 .
  7146.                 .
  7147.                 .
  7148.             EOTFLAG                     - JT Fax
  7149.             ...retrieve data                 - Host
  7150.             PC_ACK                     - Host
  7151.             IDLE                         - JT Fax
  7152.  
  7153. RELATED FUNCTIONS:     XMIT_COMMAND, 
  7154.                 LOAD_DATA_COMMAND,
  7155.                 SET_VOICE_COMMAND, 
  7156.                 DTMF_DETECT_COMMAND, 
  7157.                 DTMF_DETECT, 
  7158.                 SILENCE_DETECTED, 
  7159.                 SET_ACTIVITY_TIMER, 
  7160.                 "Error Codes"
  7161.  
  7162.  
  7163. **************************************************************************
  7164. Rec_PCX_Off_Command
  7165. Characteristic    Description
  7166. COMMAND:         Rec_PCX_Off_Command
  7167. CODE:             023H
  7168. CATEGORY:        Configuration
  7169. DIRECTION:        Host to JT Fax
  7170. INPUT to JT:        None
  7171. OUTPUT from JT:    BOARD_ACK_STATUS
  7172. DEFAULT:        PCX receive conversion disabled
  7173.  
  7174. DESCRIPTION:    REC_PCX_OFF_COMMAND configures JT Fax to convert 
  7175. the caller's T.4 encoded file to a JT_FAX_FORMAT.
  7176.  
  7177. EXAMPLE:        IDLE                        - FAX
  7178.             REC_PCX_OFF_COMMAND            - Host
  7179.             BOARD_ACK_STATUS            - FAX
  7180.             PC_ACK                    - Host
  7181.             IDLE                         - FAX
  7182.  
  7183. RELATED FUNCTIONS:     RECVINIT, 
  7184.                 MANUAL_REC_COMMAND, 
  7185.                 "Data Formats"
  7186.  
  7187.  
  7188. **************************************************************************
  7189. Rec_PCX_On_Command
  7190. Characteristic    Description
  7191. COMMAND:         Rec_PCX_On_Command
  7192. CODE:             022H
  7193. CATEGORY:        Configuration
  7194. DIRECTION:        Host to JT Fax
  7195. INPUT to JT:        None
  7196. OUTPUT from JT:    BOARD_ACK_STATUS
  7197. DEFAULT:        PCX receive conversion disabled
  7198.  
  7199. DESCRIPTION:    REC_PCX_ON_COMMAND configures JT Fax to convert 
  7200. the caller's T.4 encoded file to a PCX version 3 file. The PCX header is given to 
  7201. the Host in the first data load.
  7202.  
  7203. EXAMPLE:        IDLE                        - FAX
  7204.             REC_PCX_ON_COMMAND            - Host
  7205.             BOARD_ACK_STATUS            - FAX
  7206.             PC_ACK                    - Host
  7207.             IDLE                         - FAX
  7208.  
  7209. RELATED FUNCTIONS:     RECVINIT, 
  7210.                 MANUAL_REC_COMMAND
  7211.  
  7212.  
  7213. **************************************************************************
  7214. Rec_Start_Command
  7215. Characteristic    Description
  7216. COMMAND:         Rec_Start_Command
  7217. CODE:             064H
  7218. CATEGORY:        Voice 
  7219. DIRECTION:        Host to JT Fax
  7220. INPUT to JT:        None
  7221. OUTPUT from JT:    Recorded data in DATA_AREA
  7222.             Load_Data_Command
  7223. DEFAULT:        Not applicable
  7224.  
  7225. DESCRIPTION:    The REC_START_COMMAND instructs the fax to initiate a 
  7226. recording session. The command sequences are similar to the receive Fax data. 
  7227. Once the command is issued, the data pump is configured and voice data from 
  7228. the A/D converter is read immediately. The data sampling continues until a 
  7229. REC_STOP_COMMAND is issued.
  7230.  
  7231. EXAMPLE:        REC_START_STATUS            - Host
  7232.             BOARD_ACK_STATUS            - FAX
  7233.             ...load data in DATA_AREA            - FAX
  7234.             ...set number bytes                - FAX
  7235.             LOAD_DATA                     - FAX
  7236.             ...retrieve data from DATA_AREA    - Host
  7237.             PC_ACK                    - Host
  7238.             ...load data in DATA_AREA            - FAX
  7239.             ...set number bytes                - FAX
  7240.             LOAD_DATA                     - FAX
  7241.             ...load data from DATA_AREA        - Host
  7242.                 .
  7243.                 .
  7244.                 .
  7245.  
  7246. RELATED FUNCTIONS:     "Voice and DTMF", 
  7247.                 REC_STOP_COMMAND, 
  7248.                 RECVINIT_COMMAND
  7249.  
  7250. Note: This command can be used to record offline on Fax A with a microphone. 
  7251. Recording may be done while connected on-line with either Fax A or Fax B 
  7252. using the phone line as input.
  7253.  
  7254.  
  7255. **************************************************************************
  7256. Rec_Stop_Command
  7257. Characteristic    Description
  7258. COMMAND:         Rec_Stop_Command
  7259. CODE:             065H
  7260. CATEGORY:        Voice
  7261. DIRECTION:        Host to JT Fax
  7262. INPUT to JT:        None
  7263. OUTPUT from JT:    Recorded data in DATA_AREA
  7264.             Load_Data_Command
  7265.             EOV_FLAG
  7266. DEFAULT:        Off
  7267.  
  7268. DESCRIPTION:    The REC_STOP_COMMAND instructs the JT Fax to terminate a 
  7269. recording session. The recording stops and the data in the record buffers is 
  7270. transmitted to the Host. To end the transmission of data to the Host, the JT Fax 
  7271. issues an EOV_FLAG.
  7272.  
  7273. EXAMPLE:        REC_START_COMMAND            - Host
  7274.             BOARD_ACK_STATUS            - FAX
  7275.             ...load data in DATA_AREA            - FAX
  7276.             ...set number bytes                - FAX
  7277.             LOAD_DATA                     - FAX
  7278.             ...load data from DATA_AREA        - Host
  7279.             PC_ACK                    - Host
  7280.             ...load data in DATA_AREA            - FAX
  7281.             ...set number bytes                - FAX
  7282.             LOAD_DATA                     - FAX
  7283.             ...load data from DATA_AREA        - Host
  7284.             REC_STOP_COMMAND            - Host
  7285.             ...load data in DATA_AREA            - FAX
  7286.             ...set number bytes                - FAX
  7287.             EOV_FLAG                     - FAX
  7288.             ...load data from DATA_AREA        - Host
  7289.             PC_ACK                    - Host
  7290.             IDLE                         - FAX
  7291.  
  7292. RELATED FUNCTIONS:     "Voice and DTMF", 
  7293.                 REC_START_COMMAND, 
  7294.                 RECVINIT_COMMAND
  7295.  
  7296. Note: After recording messages, disconnect the microphone from Fax A.
  7297.  
  7298.  
  7299. **************************************************************************
  7300. Reset_Data_Pump_Command
  7301. Characteristic    Description
  7302. COMMAND:         Reset_Data_Pump_Command
  7303. CODE:             033H
  7304. CATEGORY:        Utility
  7305. DIRECTION:        Host to JT Fax
  7306. INPUT to JT:        None
  7307. OUTPUT from JT:    BOARD_ACK_STATUS
  7308. DEFAULT:        Not applicable
  7309. DESCRIPTION:    The RESET_DATA_PUMP command resets the Fax data pump. 
  7310. When resetting the data pump, the chip returns to its initial power on state. 
  7311. This command should only be used before the DIAL_DTMF_COMMANDS state. 
  7312. The command is used by JT Fax to set the data pump to a known state after each 
  7313. call or receive.
  7314.  
  7315. EXAMPLE:    RESET_DATA_PUMP_COMMAND            - Host
  7316.         BOARD_ACK_STATUS                - FAX
  7317.         PC_ACK                        - Host
  7318.         IDLE                            - FAX
  7319.  
  7320. RELATED FUNCTIONS:     HARDWARE_RESET_COMMAND
  7321.  
  7322.  
  7323. **************************************************************************
  7324. Return_to_Command
  7325. Characteristic    Description
  7326. COMMAND:         Return_to_Command
  7327. CODE:             072H
  7328. CATEGORY:        Voice 
  7329. DIRECTION:        Host to JT Fax
  7330. INPUT to JT:        None
  7331. OUTPUT from JT:    BOARD_ACK_COMMAND
  7332. DEFAULT:        Not applicable
  7333. DESCRIPTION:    The RETURN_TO_COMMAND terminates voice mode and 
  7334. returns to command state. The JT Fax returns to command state, and the data 
  7335. pump is reset. The phone line may be disconnected by the ON_HOOK_COMMAND 
  7336. if desired.
  7337.  
  7338. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  7339.             PC_ACK                    - Host
  7340.             RETURN_TO_COMMAND            - HOST
  7341.             BOARD_ACK_STATUS            - FAX
  7342.             PC_ACK                    - Host
  7343.             IDLE                        - FAX
  7344.  
  7345. RELATED FUNCTIONS:     "Voice and DTMF", 
  7346.                 CNG_DETECT_ON_COMMAND, 
  7347.                 RETURN_TO_DATA_COMMAND
  7348.  
  7349.  
  7350. **************************************************************************
  7351. Return_to_Data_Command
  7352. Characteristic    Description
  7353. COMMAND:         Return_to_Data_Command
  7354. CODE:             071H
  7355. CATEGORY:        Voice 
  7356. DIRECTION:        Host to JT Fax
  7357. INPUT to JT:        None
  7358. OUTPUT from JT:    BOARD_ACK_COMMAND
  7359. DEFAULT:        Not applicable
  7360.  
  7361. DESCRIPTION:    The RETURN_TO_DATA_COMMAND terminates voice mode 
  7362. and returns to complete a fax call. The JT Fax is returned to fax data at the 
  7363. beginning of Phase A and transmits the CED to the caller. (See Chapter 6).
  7364.  
  7365. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  7366.             PC_ACK                    - Host
  7367.             RETURN_TO_DATA_COMMAND        - Host
  7368.             BOARD_ACK_STATUS            - FAX
  7369.             ...send CED                    - FAX
  7370.  
  7371. RELATED FUNCTIONS:     "Voice and DTMF", 
  7372.                 CNG_DETECT_ON_COMMAND
  7373.  
  7374.  
  7375. **************************************************************************
  7376. Setup_Voice_Command
  7377. Characteristic    Description
  7378. COMMAND:         Setup_Voice_Command
  7379. CODE:             05FH
  7380. CATEGORY:        Voice 
  7381. DIRECTION:        Host to JT Fax
  7382. INPUT to JT:        None
  7383. OUTPUT from JT:    BOARD_ACK_STATUS
  7384. DEFAULT:        Not applicable
  7385.  
  7386. DESCRIPTION:    The SETUP_VOICE_COMMAND must be issued from command 
  7387. state. The command is used to enter voice mode for RECORDING or PLAYBACK 
  7388. and testing. Once in the VOICE mode, all voice commands can be issued and 
  7389. DTMF detection is enabled. See Chapter 6.
  7390.  
  7391. EXAMPLE:        IDLE                        - FAX
  7392.             SETUP_VOICE_COMMAND             - Host
  7393.             BOARD_ACK_STATUS            - FAX
  7394.             PC_ACK                    - Host
  7395.             IDLE                        - FAX
  7396.  
  7397. RELATED FUNCTIONS:     ╥Voice and DTMF"
  7398.  
  7399.  
  7400. **************************************************************************
  7401. Set_Act_Timer_Command
  7402. Characteristic    Description
  7403. COMMAND:         Set_Act_Timer_Command
  7404. CODE:             06FH
  7405. CATEGORY:        Voice - Configuration
  7406. DIRECTION:        Host to JT Fax
  7407. INPUT to JT:        Word value in Buffer_Area
  7408. OUTPUT from JT:    BOARD_ACK_STATUS
  7409. DEFAULT:        3.5 seconds
  7410.  
  7411. DESCRIPTION:    The SET_ACT_TIMER_COMMAND sets the activity timer 
  7412. when CNG_DETECT_ON_COMMAND has been issued. The timer value is specified 
  7413. in milliseconds and has a range from 0-65000. The activity timer starts after 
  7414. the Fax picks up the phone line. If a CNG tone is detected (Fax caller), the 
  7415. timer is reset, a CED is transmitted (Fax callee) and the Fax call continues. 
  7416. However, if silence is detected (no CNG tone) for the duration of the activity 
  7417. timer, the SILENCE_DETECT_STATUS is issued. The JT Fax automatically enters 
  7418. VOICE/DTMF mode. 
  7419.  
  7420. Note: Cycle time for a CNG_TONE is 3 seconds off, 0.5 seconds on.
  7421.  
  7422. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  7423.             PC_ACK                    - Host
  7424.             IDLE                        - Host
  7425.                 .
  7426.                 .
  7427.                 .
  7428.             PLAY_START_COMMAND            - Host
  7429.                 .
  7430.                 .
  7431.                 .
  7432.  
  7433. RELATED FUNCTIONS:     "Voice and DTMF", 
  7434.                 PLAY_START_COMMAND, 
  7435.                 DTMF_DIAL_COMMAND, 
  7436.                 DTMF_DETECT_ON_COMMAND
  7437.  
  7438.  
  7439. **************************************************************************
  7440. Set_Carrier_Command
  7441. Characteristic    Description
  7442. COMMAND:         Set_Carrier_Command
  7443. CODE:             020H
  7444. CATEGORY:        Configuration
  7445. DIRECTION:        Host to JT Fax 
  7446. INPUT to JT:        Wait for carrier time
  7447.             buffer area (word value) - in milliseconds max. 
  7448.             (65 seconds)
  7449. OUTPUT from JT:    BOARD_ACK
  7450. DEFAULT:        60 sec
  7451.  
  7452. DESCRIPTION:    The SET_CARRIER_COMMAND sets the time to wait for the 
  7453. caller and called station to complete Phase A. The NO_CARRIER timer starts 
  7454. after the dial and terminates at the beginning of Phase B. If the timer expires, 
  7455. the call is disconnected and an ERROR status returned to the host. Carrier may 
  7456. also be set placing a work value into Buffer Area [0] before a Sync Command is 
  7457. issued. Units are in milliseconds.
  7458.  
  7459. EXAMPLE:        (load time in buffer area)        - Host
  7460.             SET_CARRIER_COMMAND             - Host
  7461.             BOARD_ACK_STATUS            - FAX
  7462.             PC_ACK                    - Host
  7463.             IDLE                        - FAX
  7464.  
  7465. RELATED FUNCTIONS:     ERROR, "Error Codes", 
  7466.                 "Status Codes"
  7467.  
  7468.  
  7469. **************************************************************************
  7470. Set_Gain_Command
  7471. Characteristic    Description
  7472. COMMAND:         Set_Gain_Command
  7473. CODE:             069H
  7474. CATEGORY:        Voice - Configuration
  7475. DIRECTION:        Host to JT Fax
  7476. INPUT to JT:        Word value in BUFFER_AREA
  7477. OUTPUT from JT:    BOARD_ACK_COMMAND
  7478. DEFAULT:        43.8 dB
  7479.  
  7480. DESCRIPTION:    The SET_GAIN_COMMAND sets the maximum gain of the 
  7481. voice recording. The maximum gain should only be changed during recording 
  7482. to achieve a better quality of voice recording. The maximum gain is calculated 
  7483. by the following formula:
  7484.  
  7485.     MAX_GAIN = 655.36 [ 50 - Gain Limit (dB) ].
  7486.  
  7487. The value should be a 16-bit, positive, two╒s compliment value. The value is 
  7488. retained between recordings.
  7489.  
  7490. EXAMPLE:        IDLE                        - FAX
  7491.             ...load Gain Limit WORD in 
  7492.                  buffer_area                 - Host
  7493.             SET_GAIN_COMMAND            - Host
  7494.             BOARD_ACK_COMMAND            - FAX
  7495.             PC_ACK                    - Host
  7496.             IDLE                        - FAX
  7497.             REC_START_COMMAND            - Host
  7498.             BOARD_ACK_COMMAND            - FAX
  7499.             ...load data in DATA_AREA            - FAX
  7500.             ...set number bytes                - FAX
  7501.             LOAD_DATA_COMMAND            - FAX
  7502.                 .
  7503.                 .
  7504.                 .
  7505.             EOV_FLAG                     - FAX
  7506.             ...load data from DATA_AREA        - Host
  7507.             PC_ACK                    - Host
  7508.             IDLE                         - FAX
  7509.  
  7510. RELATED FUNCTIONS:     "Voice and DTMF", 
  7511.                 REC_START_COMMAND
  7512.  
  7513.  
  7514. **************************************************************************
  7515. Set_Sample_Rate_Command
  7516. Characteristic    Description
  7517. COMMAND:         Set_Sample_Rate_Command
  7518. CODE:             06AH
  7519. CATEGORY:        Voice - Configuration
  7520. DIRECTION:        Host to JT Fax
  7521. INPUT to JT:        BYTE value in BUFFER_AREA
  7522. OUTPUT from JT:    BOARD_ACK_COMMAND
  7523. DEFAULT:        9600 Hz
  7524. DESCRIPTION:    The SET_SAMPLE_RATE_COMMAND sets the sampling rate of 
  7525. the voice recording. The value placed into the Buffer_Area is an index to the 
  7526. provided sample rates. The following is an EXAMPLE of the available sample rates:
  7527.  
  7528. ---------------
  7529. 1    9600 Hz
  7530. 2    8000 Hz
  7531. 3    7200 Hz
  7532.  
  7533. The value is retained between voice mode sessions.
  7534.  
  7535. EXAMPLE:        IDLE                        - FAX
  7536.             ...load BYTE in buffer_area         - Host
  7537.             SET_SAMPLE_RATE_COMMAND        - Host
  7538.             BOARD_ACK_STATUS            - FAX
  7539.             PC_ACK                    - Host
  7540.             IDLE                        - FAX
  7541.             REC_START_COMMAND            - Host
  7542.             BOARD_ACK_STATUS            - FAX
  7543.             ...load data in DATA_AREA            - FAX
  7544.             ...set number bytes                - FAX
  7545.             LOAD_DATA_COMMAND            - FAX
  7546.                 .
  7547.                 .
  7548.                 .
  7549.             EOV_FLAG                     - FAX
  7550.             ...load data from DATA_AREA        - Host
  7551.             PC_ACK                    - Host
  7552.             IDLE                         - FAX
  7553.  
  7554. RELATED FUNCTIONS:     "Voice and DTMF", 
  7555.                 REC_START_COMMAND
  7556.  
  7557.  
  7558. **************************************************************************
  7559. Set_Slew_Rate_Command
  7560. Characteristic    Description
  7561. COMMAND:         Set_Slew_Rate_Command
  7562. CODE:             06BH
  7563. CATEGORY:        Voice - Configuration
  7564. DIRECTION:        Host to JT Fax
  7565. INPUT to JT:        WORD value in BUFFER_AREA
  7566. OUTPUT from JT:    BOARD_ACK_COMMAND
  7567. DEFAULT:        0
  7568.  
  7569. DESCRIPTION:    The SET_SLEW_RATE_COMMAND sets the slew rate of the 
  7570. voice recording. The value is placed into the Buffer_Area. The Slew rate value 
  7571. determines the fall off time of the voice wave form. The value can be 
  7572. adjusted by the following formula, 
  7573.  
  7574.     SLEW_RATE = [19968/(Sample Rate x fall time in seconds)].
  7575.  
  7576. The value is a 16-bit, positive, two╒s compliment value. The value is retained 
  7577. between voice sessions.
  7578.  
  7579. EXAMPLE:        IDLE                        - FAX
  7580.             ...load BYTE in buffer_area         - Host
  7581.             SET_SLEW_RATE_COMMAND        - Host
  7582.             BOARD_ACK_STATUS            - FAX
  7583.             PC_ACK                    - Host
  7584.             IDLE                        - FAX
  7585.             REC_START_COMMAND            - Host
  7586.             BOARD_ACK_STATUS            - FAX
  7587.             ...load data in DATA_AREA            - FAX
  7588.             ...set number bytes                - FAX
  7589.             LOAD_DATA_COMMAND            - FAX
  7590.                 .
  7591.                 .
  7592.                 .
  7593.             EOV_FLAG                     - FAX
  7594.             ...load data from DATA_AREA        - Host
  7595.             PC_ACK                    - Host
  7596.             IDLE                         - FAX
  7597.  
  7598. RELATED FUNCTIONS:     "Voice and DTMF", 
  7599.                 REC_START_COMMAND
  7600.  
  7601.  
  7602. **************************************************************************
  7603. Set_User_CSI_Command
  7604. Characteristic    Description
  7605. COMMAND:         Set_User_CSI_Command
  7606. CODE:             055H
  7607. CATEGORY:        Configuration 
  7608. DIRECTION:        Host to JT Fax
  7609. INPUT to JT:        Buffer_Area 20 byte CSI
  7610. OUTPUT from JT:    BOARD_ACK_STATUS
  7611. DEFAULT:        Not applicable
  7612.  
  7613. DESCRIPTION:    The SET_USER_CSI_COMMAND provides flexibility in Fax 
  7614. identification. TSI/CSI Fax information for transmit and receive can be 
  7615. modified to contain a specialized message. The format previously available for 
  7616. 9600B allowed the CSI to be placed in the buffer area on transmit and receive. 
  7617. The format of header data in the BUFFER_AREA consisted of:
  7618.  
  7619. Ñ    0-20 CSI
  7620. Ñ    21-54 -other user information
  7621. Ñ    55 - Page number followed by space (transmit only)
  7622. Ñ    56 - 61 padded spaces.
  7623.  
  7624. The CSI was always contained in the header of the transmitted page. In receive 
  7625. mode, the CSI was transmitted to the caller. Since the CSI appeared on the Fax 
  7626. page as a header, there was no way to send different CSI data to the 
  7627. caller/callee. This command allows two different messages to appear to the 
  7628. caller/callee. One message in the CSI and the other in the printed Fax header.
  7629.  
  7630. The SET_USER_CSI mode can only be cleared with a HARD_RESET.
  7631.  
  7632. EXAMPLE:        IDLE                        - FAX
  7633.             SET_USER_CSI_COMMAND             - Host
  7634.             BOARD_ACK_STATUS            - FAX
  7635.             PC_ACK                    - Host
  7636.             IDLE                        - FAX
  7637.  
  7638. RELATED FUNCTIONS:     XMIT_COMMAND, 
  7639.                 "Buffer Area"
  7640.  
  7641.  
  7642. **************************************************************************
  7643. Set_User_TSI_Command
  7644. Characteristic    Description
  7645. COMMAND:         Set_User_TSI_Command
  7646. CODE:             054H
  7647. CATEGORY:        Configuration 
  7648. DIRECTION:        Host to JT Fax
  7649. INPUT to JT:        Buffer_Area 20 byte TSI
  7650. OUTPUT from JT:    BOARD_ACK_STATUS
  7651. DEFAULT:        Not applicable
  7652.  
  7653. DESCRIPTION:    The SET_USER_TSI_COMMAND provides flexibility in fax 
  7654. identification. TSI/CSI fax information for transmit and receive can be 
  7655. modified to contain a specialized message. The format previously available for 
  7656. 9600B allowed the TSI to be placed in the buffer area on transmit and receive. 
  7657. The format of header data in the BUFFER_AREA consisted of:
  7658.  
  7659. Ñ    0-20 TSI
  7660. Ñ    21-54 -other user information
  7661. Ñ    55 - Page number followed by space (transmit only)
  7662. Ñ    56 - 61 padded spaces.
  7663.  
  7664. The TSI was always contained in the header of the transmitted page. In receive 
  7665. mode, the TSI was transmitted to the caller. Since the TSI appeared on the Fax 
  7666. page as a header, there was no way to send different TSI data to the 
  7667. caller/callee. This command allows two different messages to appear to the 
  7668. caller/callee. One message in the TSI and the other in the printed Fax header.
  7669.  
  7670. The SET_USER_TSI mode can only be cleared with a HARD_RESET.
  7671.  
  7672. EXAMPLE:    IDLE                            - FAX
  7673.         SET_USER_TSI_COMMAND                 - Host
  7674.         BOARD_ACK_STATUS                - FAX
  7675.         PC_ACK                        - Host
  7676.         IDLE                            - FAX
  7677.  
  7678. RELATED FUNCTIONS:     XMIT_COMMAND, 
  7679.                 "Buffer Area"
  7680.  
  7681.  
  7682. **************************************************************************
  7683. Silence_Detected_Status
  7684. Characteristic    Description
  7685. COMMAND:         Silence_Detected_Status
  7686. CODE:             06CH
  7687. CATEGORY:        Voice 
  7688. DIRECTION:        JT Fax to Host
  7689. INPUT to JT:        PC_ACK
  7690. OUTPUT from JT:    None
  7691. DEFAULT:        Not applicable
  7692.  
  7693. DESCRIPTION:    The SILENCE_DETECTED_STATUS notifies the Host that a CNG 
  7694. tone was not detected within the user-defined time limit. The notification only 
  7695. occurs if a CNG_DETECT_ON_COMMAND has been previously issued. Once silence 
  7696. has been detected, the JT Fax enters into Voice mode. The Host has the following 
  7697. options
  7698.  
  7699. 1.    voice commands,
  7700. 2.    wait for DTMF detection,
  7701. 3.    return to data and continue call, and
  7702. 4.    return to command and terminate call.
  7703.  
  7704. EXAMPLE:        .
  7705.             .
  7706.             .
  7707.         SILENCE_DETECTED_STATUS            - FAX
  7708.         PC_ACK                        - Host
  7709.         REC_START_COMMAND                - Host
  7710.         BOARD_ACK_STATUS                - FAX
  7711.         ...load data in DATA_AREA                - FAX
  7712.         ...set number bytes                    - FAX
  7713.         LOAD_DATA_COMMAND                - FAX
  7714.             .
  7715.             .
  7716.             .
  7717.         EOV_FLAG                         - FAX
  7718.         ...load data from DATA_AREA            - Host
  7719.         PC_ACK                        - Host
  7720.         IDLE                             - FAX
  7721.  
  7722. RELATED FUNCTIONS:     "Voice and DTMF", 
  7723.                 REC_START_COMMAND, 
  7724.                 DTMF_DIAL, 
  7725.                 DTMF_DETECT_ON_COMMAND
  7726.  
  7727.  
  7728. **************************************************************************
  7729. Software_Reset_Command
  7730. Characteristic    Description
  7731. COMMAND:         Software_Reset_Command
  7732. CODE:             031H
  7733. CATEGORY:        Control
  7734. DIRECTION:        Host to JT Fax
  7735. INPUT to JT:        None
  7736. OUTPUT from JT:    None
  7737. DEFAULT:        Not applicable
  7738.  
  7739. DESCRIPTION:    The SOFTWARE_RESET_COMMAND instructs JT Fax to initiate 
  7740. a soft reset function. The command is placed in the API block location, 
  7741. RESET_BOARD, at offset 51H. When RESET_BOARD is set to a 
  7742. SOFTWARE_RESET_COMMAND, the hardware is reset and all buffers are cleared 
  7743. (soft fonts are not cleared). After the default carrier time is reset to the value 
  7744. contained in BUFFER_AREA, JT Fax is in command state.
  7745.  
  7746. EXAMPLE:        SOFTWARE_RESET_COMMAND         - Host
  7747.             (wait for 3 seconds)
  7748.             IDLE_STATUS                - FAX
  7749.  
  7750. RELATED FUNCTIONS:     HARDWARE_RESET_COMMAND, 
  7751.                 SET_CARRIER_COMMAND
  7752.  
  7753.  
  7754. **************************************************************************
  7755. Speaker_Off_Command
  7756. Characteristic    Description
  7757. COMMAND:         Speaker_Off_Command
  7758. CODE:             03EH
  7759. CATEGORY:        Utility
  7760. DIRECTION:        Host to JT Fax
  7761. INPUT to JT:        None
  7762. OUTPUT from JT:    BOARD_ACK
  7763. DEFAULT:        Not applicable
  7764.  
  7765. DESCRIPTION:    The SPEAKER_OFF_COMMAND is used when the Host wants 
  7766. the speaker off for VOICE setup or when using the Utility commands. In 
  7767. normal JT Fax operation the speaker is controlled by the SPEAKER field of the 
  7768. API block.
  7769.  
  7770. EXAMPLE:        SPEAKER_OFF_COMMAND            - Host
  7771.             BOARD_ACK_STATUS            - FAX
  7772.             PC_ACK                    - Host
  7773.             IDLE                        - FAX
  7774.  
  7775. RELATED FUNCTIONS:     SPEAKER_ON_COMMAND
  7776.  
  7777.  
  7778. **************************************************************************
  7779. Speaker_On_Command
  7780. Characteristic    Description
  7781. COMMAND:         Speaker_On_Command
  7782. CODE:             03DH
  7783. CATEGORY:        Utility
  7784. DIRECTION:        Host to JT Fax
  7785. INPUT to JT:        None
  7786. OUTPUT from JT:    BOARD_ACK
  7787. DEFAULT:        Not applicable
  7788.  
  7789. DESCRIPTION:    The SPEAKER_ON_COMMAND is used when the Host wants 
  7790. the speaker on for VOICE setup or when using the Utility commands. In normal 
  7791. JT Fax operation the speaker is controlled by the SPEAKER field of the API block.
  7792.  
  7793. EXAMPLE:        SPEAKER_ON_COMMAND            - Host
  7794.             BOARD_ACK_STATUS            - FAX
  7795.             PC_ACK                    - Host
  7796.             IDLE                        - FAX
  7797.  
  7798. RELATED FUNCTIONS:     SPEAKER_OFF_COMMAND
  7799.  
  7800.  
  7801. **************************************************************************
  7802. Xmit_Command
  7803. Characteristic    Description
  7804. COMMAND:         Xmit_Command
  7805. CODE:             01H
  7806. CATEGORY:        FAX Transmit
  7807. DIRECTION:        Host to JT Fax
  7808. INPUT to JT:        Phone number in buffer area (if desired)
  7809.             Header in buffer area
  7810.             FAX data in swap buffer
  7811.             EOPFLAG    
  7812.             EOTFLAG
  7813. OUTPUT from JT:    LOAD_DATA_COMMAND
  7814.             BOARD_ACK
  7815.             SUCCESSFUL_TRANSMIT
  7816.             BUSY
  7817.             RING
  7818.             status messages
  7819. DEFAULT:        Not applicable
  7820.  
  7821. DESCRIPTION:    This API is the FAX transmit command. The transmit 
  7822. command operates the speaker, dials the phone number, and transfers the fax. 
  7823. After the dial is completed, the Host is prompted for the header information. 
  7824. This header is placed on the top page of the fax and a portion is used for the 
  7825. TSI. Once the header is received, the host is prompted for the data with the 
  7826. LOAD_DATA_COMMAND. The data is passed in the DATA_AREA location. The Host 
  7827. must issue a PC_ACK when all the data is loaded into DATA_AREA. Further 
  7828. LOAD_DATA_COMMANDs are issued until the fax transfer is complete. The Host 
  7829. terminates the transfer with an EOT command. 
  7830.  
  7831. The time constraint placed on the Host for data transfer is based on the format 
  7832. of the data. In the JT Fax format, approximately 10k of data can be buffered on 
  7833. the FAX. So, timing during transmission is only critical during the first initial 
  7834. stages of buffering. The initial stages require data to be loaded as fast as 
  7835. possible. 
  7836.  
  7837. If the data requires translation, the timing is more critical. The Host buffers 2 
  7838. initial loads. The worst case scenario for ASCII and PCX is approximately 5 
  7839. seconds between data loads at 14400 bps before data is lost. 
  7840.  
  7841. The data placed in DATA_AREA may be in one of three formats. These are:
  7842.  
  7843.     ASCII_FORMAT    00H
  7844.     PCX_3_FORMAT    01H
  7845.     JT_FAX_FORMAT    63H
  7846.  
  7847. The formats are discussed in detail in Chapter 7.
  7848.  
  7849.  
  7850. Characteristic    Description
  7851.  
  7852. EXAMPLE:        IDLE                        - FAX
  7853.             (load phone number in buffer area)     - Host
  7854.             (load baud rate if desired)         - Host
  7855.             XMIT_COMMAND                 - Host
  7856.             BOARD_ACK_STATUS            - FAX
  7857.             ...load header                - Host
  7858.             PC_ACK                     - Host
  7859.             LOAD_DATA_COMMAND            - FAX
  7860.             ...load data and set format            - Host
  7861.             ...set number bytes                - Host
  7862.             PC_ACK                     - Host
  7863.             LOAD_DATA_COMMAND            - FAX
  7864.             ...load data                     - Host
  7865.             PC_ACK                     - Host
  7866.                 .
  7867.                 .
  7868.                 .
  7869.             EOT                         - Host
  7870.             TRANSMIT                    - FAX
  7871.             BOARD_ACK                    - FAX
  7872.             PC_ACK                    - Host
  7873.             IDLE                         - Host
  7874.  
  7875. When the Host is transmitting multiple pages and wants to control the page 
  7876. breaks, an EOP is issued instead of PC_ACK. To control the length of the page 
  7877. the min_page parameter should be used.
  7878.  
  7879. RELATED FUNCTIONS:     IDLE, EOT, 
  7880.                 PC_ACK, 
  7881.                 BOARD_ACK, 
  7882.                 SET_CARRIER_COMMAND, 
  7883.                 FAX_MODE_COMMAND, 
  7884.                 BUSY_COMMAND, 
  7885.                 ENHANCED_MODE_ON_COMMAND, 
  7886.                 dial modifiers
  7887.  
  7888.  
  7889. ==========================================================================
  7890. Chapter 6
  7891. Shared Memory Interface Description
  7892.  
  7893.  
  7894. All functions, status codes, return codes, and data pass through the JT Fax 
  7895. shared memory interface. The interface address is selectable in 4k increments 
  7896. and is located between memory address 8000H to 0FFFFH (see the Hayes JT Fax 
  7897. 14400B Dual Installation Guide).
  7898.  
  7899. If the C programming language is used for the Host program, then the 
  7900. compiler should pack the API structure on byte boundaries. This is 
  7901. accomplished in Microsoft C by using the following statement:
  7902.  
  7903.     #pragma pack (1)
  7904.  
  7905.  
  7906. **************************************************************************
  7907. Shared Memory Interface Structure
  7908. The shared memory interface structure is organized as follows:
  7909.  
  7910. Note: This map is used with Fax A at offset 0 and Fax B at offset 800H.
  7911.  
  7912. Offset Length    Name            Usage/Description
  7913. --------------------------------------------------------------------------------------
  7914. 0000H-0005H    ID            Location of board address
  7915. 0005H-0001H    COMMAND        Commands and Status
  7916. 0006H-0001H    RING_COUNT    Ring to answer on
  7917. 0007H-0001H    CALL_MODE        Transmit/Receive
  7918. 0008H-0001H    FILE_TYPE         ASCII, PCX, JT Fax
  7919. 0009H-0001H    XMIT_FONT         Resolution, Font number
  7920. 000AH-0001H    MIN_PAGE         Force 11 inch page flag
  7921. 000BH-003DH    BUFFER_AREA     Phone numbers & headers
  7922. 0048H-0002H    SECONDS        Length of connection
  7923. 004AH-0001H    SPEAKER        on, off, on till connect
  7924. 004BH-0001H    RET_CODE         Completion code
  7925. 004CH-0002H    PAGES         Number of pages sent
  7926. 004EH-0002H    DATA_LEN         Length of valid data
  7927. 0050H-0001H    BAUD_RATE        2400, 4800, 7200, 9600, 12000, 14400 baud
  7928. 0051H-0001H    RESET_BOARD    Reset the board
  7929. 0052H-0001H    STATUS_CODE    Extended status
  7930. 0053H-0001H    LINE_COUNT        Number of lines transmitted
  7931. 0054H-0001H    RCV_FILE_TYPE    Receive file type
  7932. 0055H-0002H    RCV_LINE        Lines per page received (ASCII)
  7933. 0057H-0001H    RESERVED        Not used at this time
  7934. 0058H-07A8H    DATA_AREA        Used for file data
  7935.  
  7936. The following paragraphs describe the Shared Memory Interface fields:
  7937.  
  7938. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7939. ID    Field where the product keyword is located. Set by Board. 
  7940.  
  7941. The ID field is used to locate the board at the start of a program. Memory can be 
  7942. searched from segment 8000H to F000H for the 'ASHER' keyword at each 2K 
  7943. boundary. In the JT Fax 14400B tool kit, FINDFAX.ASM file contains an 
  7944. assembler routine that locates the 'ASHER' string. This allows the Host program 
  7945. to locate the board in memory without knowing the exact memory location.
  7946.  
  7947. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7948. COMMAND    Field for command handshakes. Set by Host and JT Fax. 
  7949.  
  7950. The COMMAND byte is used to pass most commands to the board and some status 
  7951. bytes are returned through this byte. The status bytes are JT Fax 9600B 
  7952. compatible codes described in Chapter 3.
  7953.  
  7954. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7955. RING_COUNT    Field for ring to answer count. Set by Host.
  7956.  
  7957. Ring_count is a status byte used for the ring-to-answer-on count. The count 
  7958. allows the board to answer the call when a certain number of rings is reached. 
  7959. This byte should be set to 0FH if ring detection is not desired. For originate 
  7960. only applications and manual answers, a status command RING is provided in 
  7961. the first byte of buffer area. 
  7962.  
  7963. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7964. CALL_MODE     Field for answer or receive mode. Set by Host.
  7965.  
  7966. Call_mode should be set prior to making or receiving a call. The call modes 
  7967. currently supported by the board are:
  7968.  
  7969.     Code    Description
  7970.     ---------------------------------
  7971.     00H    Call to transmit a fax
  7972.     02H    Answer to receive a fax
  7973.  
  7974. Note: This option is currently not supported. 
  7975.  
  7976. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7977. FILE_TYPE    Field for specific file type. Set by Host.
  7978.  
  7979. File_type should be set prior to a transmit. The file_type parameter determines 
  7980. the processing necessary for the JT Fax 14400B Dual to convert data to T.4 
  7981. format. The field can have the following values:
  7982.  
  7983.     Code    Description
  7984.     -------------------------
  7985.     00H    ASCII_FORMAT
  7986.     01H    PCX _3_FORMAT
  7987.     63H     JT_Fax_FORMAT 
  7988.  
  7989. For additional information see File Formats in Chapter 7.
  7990.  
  7991. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7992. XMIT_FONT    Field for JT Fax font resolution. Set by Host.
  7993.  
  7994. Xmit_font field is only used to transmit of data. The field should be set prior to 
  7995. all transmits, and is used to select the font for ASCII and high/low resolution 
  7996. for other types of transmits. If ASCII data is being sent in any font other than 
  7997. font0 (80/low) then that font must be loaded onto the board prior to the 
  7998. transmit. If any other form of data is being sent (i.e., PCX, JT Fax) then 00H and 
  7999. 01H should be used to indicate the resolution.
  8000.  
  8001.     Code    Description
  8002.     ----------------------------------------------
  8003.     00H     80 character/line low resolution
  8004.     01H     80 character/line high resolution
  8005.     02H     132 character/line low resolution
  8006.     03H    132 character/line high resolution
  8007.  
  8008. For additional information see JT Fax Formats section Chapter 7.
  8009.  
  8010. MIN_PAGE    Field set for page minimum length. Set by Host.
  8011.  
  8012. If min_page is zero when the transmit command is issued, all pages will be 
  8013. forced to be at least 11 inches long. If MIN_PAGE is set, the number of lines in 
  8014. linecount is used.
  8015.  
  8016. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8017. BUFFER_AREA    Field for FAX ID, phone number. Set by Host, JT Fax and 
  8018. status messages.
  8019.  
  8020. Buffer_area is an area used to pass the phone number to be dialed, the header 
  8021. line to put on the top of each page, fax ID and enhanced return codes. The 
  8022. default time-out-after-dial (binary) can also be loaded into buffer_area on 
  8023. start up or can be configured by using the SET_CARRIER_COMMAND function.
  8024.  
  8025. For more information on buffer area see section Appendix E.
  8026.  
  8027. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8028. SECONDS     Field for time of phases. Set by JT Fax.
  8029.  
  8030. Seconds is a timer that resets to zero at the start of a call or answer and again 
  8031. after receiving the first carrier from the other end (to get a true connection 
  8032. time). The host has the option to reset the timer.
  8033.  
  8034. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8035. SPEAKER     Field for speaker control. Set by Host.
  8036.  
  8037. The Speaker byte controls operation of the speaker as follows:
  8038.  
  8039.     Code    Description
  8040.     ---------------------
  8041.     00H     SPKR_ALWAYS_ON
  8042.     01H     SPKR_ON_TILL_CONNECT
  8043.     02H     SPKR_ALWAYS_OFF
  8044.  
  8045. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8046. RET_CODE     Field for errors and JT Fax 9600B status. Set by JT Fax.
  8047.  
  8048. Ret_code is the error return code from a fax operation. For compatibility, the 
  8049. two 9600B status codes are returned in this field. The values are:
  8050.  
  8051.     Code    Description
  8052.     -----------------------------
  8053.     0    Successful Transmit
  8054.     1    No Dial Tone
  8055.     2    No Carrier
  8056.     3    Busy
  8057.     7    Clipped
  8058.  
  8059. The Handshaking/Compatibility return codes are:
  8060.  
  8061.     Code    Description
  8062.     -------------------------------
  8063.     128    Bad DIS REC
  8064.     129    Bad Training
  8065.     130    Phase B Error
  8066.     131    Bad MPS Response
  8067.     132    Bad MCF Response
  8068.     133    Bad DSC Response
  8069.     134    Phase D Error
  8070.     135    No PC Acknowledge
  8071.     136    No Data Received
  8072.     137    Page Error on Receive
  8073.     138     Successful Receive
  8074.  
  8075. Other Return Codes are described in Appendix B.
  8076.  
  8077. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8078. PAGES    Field for number of pages. Set by JT Fax.
  8079.  
  8080. Pages is a word that keeps a running count of the number of pages sent. It is 
  8081. updated during transmission and reception.
  8082.  
  8083. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8084. DATA_LEN     Field for number of bytes in DATA_AREA Set by Host and JT Fax.
  8085.  
  8086. Fax Data_len is a word that holds the number of data bytes valid in the 
  8087. data_area. It must be loaded prior to a load_data command.
  8088.  
  8089. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8090. BAUD_RATE     Field for connect speed. Set by Host and JT Fax.
  8091.  
  8092. Baud_rate is a byte that shows the connection speed. At the start of each 
  8093. transmission it defaults to 14400 BPS. For compatibility, the receive defaults to 
  8094. 9600 BPS. 14400 BPS receive can be obtained by issuing the FAX_144_MODE_ON 
  8095. API. The BAUD_RATE field has the following values:
  8096.  
  8097.     Code    Description
  8098.     ---------------------
  8099.     00H    2400 BPS
  8100.     01H    4800 BPS
  8101.     02H    7200 BPS
  8102.     03H    9600 BPS
  8103.     04H     12000 BPS
  8104.     05H    14400 BPS 
  8105.  
  8106. The baud rate may be monitored for correct connect speed.
  8107.  
  8108. Note: This rate may also be modified by the host for transmit speed.
  8109.  
  8110. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8111. RESET_BOARD    Field for reset. Set by Host.
  8112.  
  8113. This byte is used to reset the board after an error, or it can be done on exit to 
  8114. set the board to a known state. The API HARDWARE_RESET_COMMAND in this 
  8115. byte causes a full reset of the board, including memory testing and clearing 
  8116. and can take 5-6 seconds to complete. 
  8117.  
  8118. The API SOFTWARE_RESET_COMMAND causes a partial reset and does not clear 
  8119. memory. It disconnects the phone line and returns to command state.
  8120.  
  8121. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8122. STATUS_CODE    Field for enhanced status. Set by JT Fax.
  8123.  
  8124. The status code field provides additional status for Fax transmission.
  8125.  
  8126. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8127. LINE_COUNT    Field for number lines. Set by Host.
  8128.  
  8129. Line_count is a byte that gives the number of lines to put on the page before a 
  8130. page break. The function is only applicable when MIN_PAGE  is set to 0 and 
  8131. during ASCII transmits.
  8132.  
  8133. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8134. RECV_FILE_TYPE    Field used to indicate the type of file. Set by Host.
  8135.  
  8136. The values are:
  8137.  
  8138.     Code    Description
  8139.     -------------------------
  8140.     01H    PCX_3_FORMAT
  8141.     63H    JT_FAX_FORMAT
  8142.  
  8143. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8144. RECV_LINE    Field used to indicate the number of PCX lines recieved. Set by JT 
  8145. Fax.
  8146.  
  8147. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8148. DATA_AREA    Field for data transfer. Set by Host.
  8149.  
  8150. This is the area used to buffer data out to the board. It is 1960 bytes long.
  8151.  
  8152.  
  8153. ==========================================================================
  8154. Chapter 7
  8155. File Formats
  8156.  
  8157.  
  8158. This chapter describes the JT Fax file conversion formats. These formats 
  8159. include:
  8160.  
  8161. Ñ    PCX
  8162. Ñ    ASCII
  8163. Ñ    JT Fax.
  8164.  
  8165.  
  8166. *****************************************************************************
  8167. PCX Conversion
  8168. The PCX conversion supplied with JT Fax 14400B Dual is a receive "on-the-
  8169. fly" conversion at all speeds supported. The data presented to the Host 
  8170. includes a PCX 3 header and data. All data is in black and white, 1-plane, 1 
  8171. bit-per-pixel, xmax (horizontal axis) = 1727; color is not supported.
  8172.  
  8173. Additional fields are provided for the PCX receive. These new fields are 
  8174. receive type (BYTE) at offset 55H and receive_lines at offset 56H (WORD).
  8175.  
  8176. The following commands pertain to PCX conversion:
  8177.  
  8178.     REC_PCX_ON_COMMAND
  8179.     REC_PCX_OFF_COMMAND (default)
  8180.  
  8181. The length of the PCX file (in lines) is reported in the new variable named 
  8182. RECV_LINES and is correct when the EOT is received from the fax. The 
  8183. RECV_LINES count should be placed in the PCX file by the Host. The offset into 
  8184. the PCX file for this count is 10 (zero relative) and is WORD value. The 
  8185. PCX_RECV_ON_COMMAND must be issued after setting Recvfile type to PCX.
  8186.  
  8187.  
  8188. **************************************************************************
  8189. ASCII
  8190. The following sections describe ASCII font management in JT Fax.
  8191.  
  8192. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8193. Fonts
  8194. The JT Fax 14400B Dual board gives the user the flexibility of 4 different 
  8195. fonts. These fonts are identified as font.0, font.1, font.2, and font.3. Font.0 
  8196. is the default font and Fonts 0-3 are available as user defined fonts. The 
  8197. fonts are designed in two resolutions, low and high resolution. Low resolution 
  8198. is defined as an 18-bit by 16-row character cell. High resolution is defined 
  8199. by a 18-bit by 32-row character cell. All fonts are available in the JT FAX 
  8200. software toolkit under the files font.0, font.1, font.2, and font.3. Contact 
  8201. Hayes Customer Service, see Appendix I.
  8202.  
  8203. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8204. Mode
  8205. There are two different modes for resolution, normal mode and compressed 
  8206. mode. In normal mode the character cell consists of 18 bits per character 
  8207. cell line. Normal mode is the default mode for the default font used by JT 
  8208. Fax. The JT Fax compressed mode consists of a character cell that is 13 
  8209. bits-per-character line. Both modes support 80 and 132 columns. 
  8210.  
  8211. Below is a list of these fonts with their corresponding resolution.
  8212.  
  8213. Font            Name        Resolution
  8214. -----------------------------------------------------------
  8215. Low res         faxfont.0    200x100 80 columns
  8216. normal mode            <default>
  8217. High res         faxfont.1    200x200 132 columns
  8218. normal mode
  8219. Low res         faxfont.2    200x100 80 columns
  8220. compressed
  8221. High res        faxfont.3    200x200 132 columns
  8222. compressed
  8223.  
  8224. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8225. Font Modifications
  8226. To modify these fonts, the programmer can execute the font generation 
  8227. program, fontcon.com. This program can be downloaded in the file 
  8228. faxfont.arc (contact Hayes Customer Service, see Appendix I). If the user 
  8229. wishes to create a custom font file without the use of the fontcon.com 
  8230. program, the fonts must be bit mapped as explained in the following 
  8231. paragraphs.
  8232.  
  8233. The bit map is arranged in a "pixel line" format. The character must be 
  8234. converted into a bit-format byte aligned. Character tables start with the 
  8235. ASCII character for a space " " and end with an ASCII character for a "~". 
  8236. The character is assembled into a 4x16 byte matrix in low resolution and a 
  8237. 4x32 byte matrix for high resolution. All parts of the character cell must be 
  8238. represented.
  8239.  
  8240. In lower case characters, the additional white space above the character 
  8241. must be included. For example, the lower case ASCII 'a' has several lines of 
  8242. white space above the 'a'. This must be included.
  8243.  
  8244. Within each matrix cell, the font character is defined by 4 bytes per line by:
  8245.  
  8246.     low resolution = 18 bits < 22 bits unused >
  8247.     high resolution = 13 bits < 27 bits unused >.
  8248.  
  8249. All unused bits are ignored and are set to a 0xff.
  8250.  
  8251. For example, a '!' in low-resolution normal mode 4x16 80-column, with a bit 
  8252. set for white would be as follows:
  8253.  
  8254. Row    Bitmap                Row    Bitmap
  8255. --------------------------------------------------------------------------------
  8256. 1    0xff, 0xff, 0xc0, 0xff (top space)    9    0xff, 0xf9, 0xc0, 0xff (char)
  8257. 2    0xff, 0xf0, 0xc0, 0xff (char)    10    0xff, 0xff, 0xc0, 0xff (char)
  8258. 3    0xff, 0xf0, 0xc0, 0xff (char)    11    0xff, 0xff, 0xc0, 0xff (char)
  8259. 4    0xff, 0xf0, 0xc0, 0xff (char)    12    0xff, 0xf9, 0xc0, 0xff (char)
  8260. 5    0xff, 0xf0, 0xc0, 0xff (char)    13    0xff, 0xff, 0xc0, 0xff (space)
  8261. 6    0xff, 0xf0, 0xc0, 0xff (char)    14    0xff, 0xff, 0xc0, 0xff (space)
  8262. 7    0xff, 0xf0, 0xc0, 0xff (char)    15    0xff, 0xff, 0xc0, 0xff (space)
  8263. 8    0xff, 0xf9, 0xc0, 0xff (char)    16    0xff, 0xff, 0xc0, 0xff (space)
  8264.  
  8265. The JT Fax font generation software offers the user the ability to create or 
  8266. modify the ASCII coded fonts used by the JT Fax products. The user will need 
  8267. to download FAXFONT.ARC and FONT.ARC from the HAYES BBS (see Appendix 
  8268. I).
  8269.  
  8270. For development purposes, the programmer is advised to create a font sub-
  8271. directory containing four sub-directories (one for each font), and copy the 
  8272. proper files into each sub-directory as follows:
  8273.  
  8274. Directory    Contents
  8275. ---------------------------------------------------------------
  8276. Font        All directories below.
  8277. Font 0    Low resolution normal 80 columns. Include
  8278.         FONT0.EXE, FONTSCRN, and FAXFONT.0.
  8279. Font 1    High resolution normal 80 columns. Include
  8280.         FONT1.EXE, FONTSCRN, and FAXFONT.1.
  8281. Font 2    Low resolution compressed 132 columns.
  8282.         Include FONT2.EXE, FONTSCRN, and FAXFONT.2.
  8283. Font 3    High resolution compressed 132 columns.
  8284.         Include FONT3.EXE, FONTSCRN, and FAXFONT.3.
  8285.  
  8286. To use the graphics editor, move to a font sub-directory, and type 
  8287. FONTX.EXE, where X is the font number to modify. The editor then appears, 
  8288. along with some instructions.
  8289.  
  8290.     EXAMPLE: C:/font/2
  8291.     followed by: font2
  8292.  
  8293. This example illustrates the suggested sub-directory structure and the 
  8294. procedure for editing font2 (low resolution compressed). The FONTSCRN file
  8295. is a graphic overlay for the font editor.
  8296.  
  8297. When the "Which character to edit" prompt is displayed, you may enter a 
  8298. keyboard character. To enter a non-keyboard character, find its ASCII code, 
  8299. hold down the <alt> key and enter the ASCII code with the numeric keypad.
  8300.  
  8301. To move about in the font field, use the cursor control keys. The instructions 
  8302. appearing on the screen guide you to edit a font. When the font is complete, 
  8303. enter <F1> to save it. The high resolution fonts allow editing the top and bottom 
  8304. half of each pixel in the font field. In the high resolution fonts, use T and B to 
  8305. paint or delete the Top or Bottom of a font element. As a font is modified, a 
  8306. FAXFONT.TMP file is created.
  8307.  
  8308. FONTCON.COM is then converts the FAXFONT.TMP file into the format used 
  8309. by the JT FAX software. The syntax is:
  8310.  
  8311.     FONTCON FAXFONT.TMP FAXFONT.X
  8312.  
  8313. The FAXFONT.X is the new file you created, and is now ready to be copied 
  8314. into your FAX directory for testing.
  8315.  
  8316.     EXAMPLE: c:\font\2> fontcon faxfont.tmp faxfont.2
  8317.  
  8318. The example converts the FAXFONT.TMP from sub-directory FONT2 and 
  8319. converts it to FAXFONT.2.
  8320.  
  8321. Font generation may require several iterations of some character. This is 
  8322. normal, as fonts displayed on a CRT appear different than when received on a 
  8323. Fax machine.
  8324.  
  8325. Note: Only one soft font can be downloaded. This is the font used by the Fax. Only 
  8326. one soft font at any given time can be downloaded and used. Soft Font cannot be 
  8327. used with the OEM_CODE command.
  8328.  
  8329.  
  8330. **************************************************************************
  8331. JT Fax Format
  8332. The JT Fax file format is based on a modified Huffman coding used in Group 3 
  8333. facsimile preceded by an eight byte header. The Huffman coding schema is in Appendix A.)
  8334. The header format is as follows:
  8335.  
  8336.     Offset        Explanation
  8337.     ---------------------------------------------------------------
  8338.     0         A zero byte
  8339.     1        Either 0 or 40H. If the 40H bit is set, then the file is a
  8340.             high resolution (200x200) file.
  8341.     2        reserved
  8342.     3        reserved
  8343.     4        reserved
  8344.     5        reserved
  8345.     6        reserved
  8346.     7        reserved
  8347.  
  8348. The Huffman data format is a data compression method based on run length 
  8349. encoding. One hundred and twenty-eight run lengths (64 white and 64 black), 
  8350. thirteen make-up codes, and an end-of-line (EOL) are defined by the ITU-T. 
  8351. These codes are available in Appendix A.
  8352.  
  8353. The JT Fax only supports files of 1728 pixels per line, the only required 
  8354. format for a Group 3 fax machine. The EOL command is used to end every line 
  8355. in a fax-format file.
  8356.  
  8357. It consists of 11 zero bits and a one bit. Additional zero bits, or fill bits, can 
  8358. be inserted prior to the EOL command. Although some JT Fax files use fill 
  8359. bits so that each line of fax data begins on a byte boundary, inclusion of fill 
  8360. bits is not necessary for any JT Fax family product.
  8361.  
  8362. The JT Fax file is organized as follows:
  8363.  
  8364.     Eight byte header
  8365.     EOL
  8366.     Huffman compressed line
  8367.     EOL
  8368.     Huffman compressed line
  8369.     EOL
  8370.         .
  8371.         .
  8372.         .
  8373.     Huffman compressed line
  8374.     EOL
  8375.  
  8376. Huffman compressed lines are generated using the tables in Appendix A. 
  8377. Huffman compression assumes that every line begins with a white run length, 
  8378. alternates to a black, back to white, up to an EOL. If a run length is greater 
  8379. than 63, then a make-up code is used. A make-up code is always followed by 
  8380. a run length of the same color, even if the length is zero. The Huffman codes 
  8381. are sent left-bit first (as seen in the table), but must be assembled so that 
  8382. the low-order bit in each byte is the first to send. The following example 
  8383. demonstrates this process:
  8384.  
  8385. Assume the input line of data is:
  8386.  
  8387.     30 white, 10 black, 130 white, 192 black, 1366 white
  8388.  
  8389. From the table in Appendix A:
  8390.  
  8391.     30 white = 00000011 
  8392.     10 black = 0000100
  8393.     130 white = 128 white = 10010 (make up-code) + 2 white = 0111
  8394.     192 black = 192 black = 010111(make-up code) + 0 black = 0000110111
  8395.     1366 white = 1344 white = 011011010 (make-up code) + 22 white = 
  8396. 0000011
  8397.     EOL = 000000000001
  8398.  
  8399. Put the bits in a stream:
  8400.  
  8401.     00000011000010010010011101011100001101110110110100000011
  8402.     000000000001
  8403.  
  8404. Break them out, eight bits at a time:
  8405.  
  8406.     00000011-00001001-00100111-01011100-00110111-01101101-
  8407.     00000011-00000000-0001
  8408.  
  8409. Reverse the bit-order:
  8410.  
  8411.     11000000-10010000-11100100-00111010-11101100-10110110-
  8412.     11000000-00000000-xxxx1000
  8413.  
  8414. The xxxx could be the first four bits from the next Huffman stream of data, 
  8415. or four additional 0s could be inserted on the other side of the 1, making the 
  8416. last byte 10000000. The final hex code for this line is:
  8417.  
  8418.     C0 90 E4 3A EC B6 C0 00 80
  8419.  
  8420.  
  8421. ==========================================================================
  8422. Appendix A
  8423. ITU-T T.4 Huffman Encoding
  8424.  
  8425.  
  8426. This appendix defines the T.4 Huffman encoding used in JT Fax.
  8427.  
  8428. Run 
  8429. Length    White Code        Black Code
  8430. ------------------------------------------------
  8431. 0000        00110101        0000110111
  8432. 0001        000111        010
  8433. 0002        0111            11
  8434. 0003        1000            10
  8435. 0004        1011            011
  8436. 0005        1100            0011
  8437. 0006        1110            0010
  8438. 0007        1111            00011
  8439. 0008        10011            000101
  8440. 0009        10100            000100
  8441. 0010        00111            0000100
  8442. 0011        01000            0000101
  8443. 0012        001000        0000111
  8444. 0013        000011        00000100
  8445. 0014        110100        00000111
  8446. 0015        110101        000011000
  8447. 0016        101010        0000010111
  8448. 0017        101011        0000011000
  8449. 0018        0100111        0000001000
  8450. 0019        0001100        00001100111
  8451. 0020        0001000        00001101000
  8452. 0021        0010111        00001101100
  8453. 0022        0000011        00000110111
  8454. 0023        0000100        00000101000
  8455. 0024        0101000        00000010111
  8456. 0025        0101011        00000011000
  8457. 0026        0010011        000011001010
  8458. 0027        0100100        000011001011
  8459. 0028        0011000        000011001100
  8460. 0029        00000010        000011001101
  8461. 0030        00000011        000001101000
  8462. 0031        00011010        000001101001
  8463. 0032        00011011        000001101010
  8464. 0033        00010010        000001101011
  8465. 0034        00010011        000011010010
  8466. 0035        00010100        000011010011
  8467. 0036        00010101        000011010100
  8468. 0037        00010110        000011010101
  8469. 0038        00010111        000011010110
  8470. 0039        00101000        000011010111
  8471. 0040        00101001        000001101100
  8472. 0041        00101010        000001101101
  8473. 0042        00101011        000011011010
  8474. 0043        00101100        000011011011
  8475. 0044        00101101        000001010100
  8476. 0045        00000100        000001010101
  8477. 0046        00000101        000001010110
  8478. 0047        00001010        000001010111
  8479. 0048        00001011        000001100100
  8480. 0049        01010010        000001100101
  8481. 0050        01010011        000001010010
  8482. 0051        01010100        000001010011
  8483. 0052        01010101        000000100100
  8484. 0053        00100100        000000110111
  8485. 0054        00100101        000000111000
  8486. 0055        01011000        000000100111
  8487. 0056        01011001        000000101000
  8488. 0057        01011010        000001011000
  8489. 0058        01011011        000001011001
  8490. 0059        01001010        000000101011
  8491. 0060        01001011        000000101100
  8492. 0061        00110010        000001011010
  8493. 0062        00110011        000001100110
  8494. 0063        001101000        00001100111
  8495. 0064        11011            0000001111
  8496. 0128        10010            000011001000
  8497. 0192        010111        000011001001
  8498. 0256        0110111        000001011011
  8499. 0320        00110110        000000110011
  8500. 0384        00110111        000000110100
  8501. 0448        01100100        000000110101
  8502. 0512        01100101        000000110110
  8503. 0576        01101000        000001101101
  8504. 0640        01100111        000000100100
  8505. 0704        011001100        000000100101
  8506. 0768        011001101        000000100110
  8507. 0832        011010010        000000100111
  8508. 0896        011010011        000000111000
  8509. 0960        011010100        000000111001
  8510. 1024        011010101        000000111010
  8511. 1088        011010110        000000111011
  8512. 1152        011010111        000000111010
  8513. 1216        011011000        000000111011
  8514. 1280        011011001        000000101000
  8515. 1344        011011010        000000101001
  8516. 1408        011011011        000000101010
  8517. 1472        010011000        000000101011
  8518. 1536        010011001        000000101100
  8519. 1600        010011010        000000101101
  8520. 1664        011000        000000110010
  8521. 1728        010011011        000000110011
  8522. EOL        000000000001    000000000001
  8523.  
  8524.  
  8525. ==========================================================================
  8526. Appendix B
  8527. Return Codes
  8528.  
  8529.  
  8530. The following paragraphs describe the correct time to read the RET_CODE 
  8531. field of the JT Fax API window.
  8532.  
  8533. When the PC is finished receiving data from the JT Fax board, then the JT Fax 
  8534. issues an EOT in the Command field. The JT Fax board sends a BOARD_ACK in 
  8535. the Command field when the transmission is complete. At this time the PC 
  8536. should read the RET_CODE field of the JT Fax API window. If the command 
  8537. field changes to an error, the RET_CODE is valid.
  8538.  
  8539. Some of the errors are fatal and some are operational. Fatal errors halt 
  8540. execution with an error flag while operational errors are less severe and 
  8541. will allow the Fax operation to continue. Operational errors are read at the 
  8542. end of a receive or transmit. Once an error occurs, Buffer area [0] can be 
  8543. checked for additional return code information. If available, the byte will be 
  8544. non-zero. Also, the status field can be checked to determine the state of the 
  8545. JT Fax.
  8546.  
  8547. The following paragraphs describe the JT Fax Return Codes.
  8548.  
  8549. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8550. RETURN_CODE: 00    MNEMONIC: SUCCESSFUL_TRANSMIT
  8551.  
  8552.     DESCRIPTION: A successful transmit occurred with no errors. This is a JT Fax
  8553.     compatibility code.
  8554.  
  8555.     RECOMMENDED ACTION: Fax was good.
  8556.  
  8557. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8558. RETURN_CODE: 01    MNEMONIC: NO_DIALTONE
  8559.  
  8560.     DESCRIPTION: A dial command was issued with either a 'W' dial modifier or a wait for
  8561.     dialtone in byte 0 of the dial string. Fatal error.
  8562.  
  8563.     RECOMMENDED ACTION: Check cable connections and redial.
  8564.  
  8565. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8566. RETURN_CODE: 02    MNEMONIC: NO_CARRIER
  8567.  
  8568.     DESCRIPTION: A complete connection was not established. A NO_CARRIER error
  8569.     appears after the dial and before the Phase A completion. JT Fax compatibility. Fatal
  8570.     error.
  8571.  
  8572.     RECOMMENDED ACTION: Check phone number and retry call. Try enabling enhanced
  8573.     mode to determine the exact cause of error.
  8574.  
  8575. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8576. RETURN_CODE: 03    MNEMONIC: BUSY
  8577.  
  8578.     DESCRIPTION: The called phone number was busy or a circuit was busy. Fatal error.
  8579.  
  8580.     RECOMMENDED ACTION: Retry call.
  8581.  
  8582. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8583. RETURN_CODE: 04    MNEMONIC: PC_COMM_ERROR
  8584.  
  8585.     DESCRIPTION: Invalid response or command while in command state. Fatal error.
  8586.  
  8587.     RECOMMENDED ACTION: Check Host for problems.
  8588.  
  8589. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8590. RETURN_CODE: 07    MNEMONIC: CLIP
  8591.  
  8592.     DESCRIPTION: An ASCII file was converted to T.4 data and a line was longer than 216
  8593.     bytes (including spaces and tabs). This error only occurs during a FILETYPE - ASCII
  8594.     conversion during transmit. The error does not cause an abort to the transmit.
  8595.     Operational error.
  8596.  
  8597.     RECOMMENDED ACTION: Continue with fax or terminate call with a SOFT_RESET.
  8598.     Modify file before retransmitting.
  8599.  
  8600. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8601. RETURN_CODE: 10    MNEMONIC: DIALING_ERROR
  8602.  
  8603.     DESCRIPTION: A dial command was issued and one of the characters in the dial string
  8604.     was invalid. Fatal error.
  8605.  
  8606.     RECOMMENDED ACTION: Check dial string and redial.
  8607.  
  8608. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8609. RETURN_CODE: 12    MNEMONIC: FONT_TOO_LARGE
  8610.  
  8611.     DESCRIPTION: The soft font file was too large for the soft font area. This error could
  8612.     also apply to the OEM code load. Fatal error.
  8613.  
  8614.     RECOMMENDED ACTION: Shorten soft font and retry.
  8615.  
  8616. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8617. RETURN_CODE: 19    MNEMONIC: TRANSMIT_PAGE_ERROR
  8618.  
  8619.     DESCRIPTION: Transmit page was not received correctly. Operational error.
  8620.  
  8621.     RECOMMENDED ACTION: Retry call. Check remote fax machine and/or telephone line..
  8622.  
  8623. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8624. RETURN_CODE: 20    MNEMONIC: PHASE_A_ERROR
  8625.  
  8626.     DESCRIPTION: The transmitted Fax was not received correctly. Operational error
  8627.  
  8628.     RECOMMENDED ACTION: Retry call. Call Hayes Customer Service.
  8629.  
  8630. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8631. RETURN_CODE: 21    MNEMONIC: NO_CNG_ERROR
  8632.  
  8633.     DESCRIPTION: No 1100 Hz CNG tone was detected from the Caller. If CNG detect is
  8634.     enabled this informs the user that a CNG was not detected. If CNG detect is not
  8635.     enabled then this error will not occur. Operational error.
  8636.  
  8637.     RECOMMENDED ACTION: Hang up the Fax call and use a voice connection.
  8638.  
  8639. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8640. RETURN_CODE: 30    MNEMONIC: PHASE_C_ERROR
  8641.  
  8642.     DESCRIPTION: This a general error for Phase C. Operational error.
  8643.  
  8644.     RECOMMENDED ACTION: Retry Call. Call Hayes Customer Support.
  8645.  
  8646. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8647. RETURN_CODE: 32    MNEMONIC: MAX_FRAME_ERR
  8648.  
  8649.     DESCRIPTION: The FAX handshake frame was too large for the JT Fax buffers. This is
  8650.     usually caused by a noisy line. Fatal error.
  8651.  
  8652.     RECOMMENDED ACTION: Check line and redial.
  8653.  
  8654. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8655. RETURN_CODE: 35    MNEMONIC: LONG_LINE_ERROR
  8656.  
  8657.     DESCRIPTION: An error occurred in the reception of data. A line was received and
  8658.     decoded as being to long. This only occurs if the line is noisy.
  8659.  
  8660.     RECOMMENDED ACTION: Check phone line and redial.
  8661.  
  8662. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8663. RETURN_CODE: 36    MNEMONIC: PERCENTAGE_ERROR
  8664.  
  8665.     DESCRIPTION: Percentage of data errors on receive versus the amount of correctly
  8666.     received data. Operational error.
  8667.  
  8668.     RECOMMENDED ACTION: Check line for connection or noise.
  8669.  
  8670. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8671. RETURN_CODE: 40    MNEMONIC: PHASE_D_ERROR
  8672.  
  8673.     DESCRIPTION: A response from the remote machine was not received after transmit
  8674.     during the required time. Operational error.
  8675.  
  8676.     RECOMMENDED ACTION: Check line for connection or noise.
  8677.  
  8678. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8679. RETURN_CODE: 60    MNEMONIC: DTMF_ERROR
  8680.  
  8681.     DESCRIPTION: A valid DTMF signal was not received. Operational error.
  8682.  
  8683.     RECOMMENDED ACTION: Check connection.
  8684.  
  8685. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8686. RETURN_CODE: 61    MNEMONIC: NO_DTMF_TIMEOUT_ERROR
  8687.  
  8688.     DESCRIPTION: A manual DTMF command was issued. The activity timer expired with no
  8689.     DTMF. Operational error.
  8690.  
  8691.     RECOMMENDED ACTION: Check connection and line noise.
  8692.  
  8693. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8694. RETURN_CODE: 62    MNEMONIC: VOICE_ERROR
  8695.  
  8696.     DESCRIPTION: An error occurred during the operation of a voice command. Fatal 
  8697.     error.
  8698.  
  8699.     RECOMMENDED ACTION: Retry voice operation.
  8700.  
  8701. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8702. RETURN_CODE: 122    MNEMONIC: HDLC_MIN_SIZE_ERROR
  8703.  
  8704.     DESCRIPTION: The HDLC frame of the T.30 handshake was shorter than expected.
  8705.     Invalid frame was received. Fatal error.
  8706.  
  8707.     RECOMMENDED ACTION: Check remote Fax.
  8708.  
  8709. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8710. RETURN_CODE: 123    MNEMONIC: HDLC_CRC_ERROR
  8711.  
  8712.     DESCRIPTION: The HDLC frame of the T.30 handshake did not have a good CRC. Fatal
  8713.     error.
  8714.  
  8715.     RECOMMENDED ACTION: Check line for noise and check remote fax. Retry call.
  8716.  
  8717. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8718. RETURN_CODE: 124    MNEMONIC: NEGOTIATING_TRAIN_DCN_ERROR
  8719.  
  8720.     DESCRIPTION: A DCN was received while the Fax was negotiating speed. Fatal error.
  8721.  
  8722.     RECOMMENDED ACTION: Check line for noise and check remote Fax. Retry call.
  8723.  
  8724. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8725. RETURN_CODE: 125    MNEMONIC: HDLC_FRAME_TIMOUT_ERROR
  8726.  
  8727.     DESCRIPTION: A time-out occurred while waiting for the HDLC T.30 handshake. Fatal
  8728.     error.
  8729.  
  8730.     RECOMMENDED ACTION: Check line for noise and check remote Fax. Retry call.
  8731.  
  8732. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8733. RETURN_CODE: 126    MNEMONIC: NO_DCS_REC
  8734.  
  8735.     DESCRIPTION: A DCS was not received from the caller. Caused by equipment
  8736.     malfunction at remote site. Fatal error.
  8737.  
  8738.     RECOMMENDED ACTION: Check remote fax and redial.
  8739.  
  8740. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8741. RETURN_CODE: 128    MNEMONIC: BAD_DIS_REC
  8742.  
  8743.     DESCRIPTION: A DIS received from the callee was in error. Possible remote equipment
  8744.     problems. Fatal error.
  8745.  
  8746.     RECOMMENDED ACTION: Check remote fax and redial.
  8747.  
  8748. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8749. RETURN_CODE: 129    MNEMONIC: BAD_TRAINING
  8750.  
  8751.     DESCRIPTION: An error occurred during the training phase of the call. Line 
  8752.     quality does not support speeds available. Fatal error.
  8753.  
  8754.     RECOMMENDED ACTION: Check remote fax, phone line and redial.
  8755.  
  8756. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8757. RETURN_CODE: 130    MNEMONIC: PHASE_B_ERROR
  8758.  
  8759.     DESCRIPTION: An error occurred during the negotiation phase of the call. This 
  8760.     could be a failure to negotiate parameters. Fatal error.
  8761.  
  8762.     RECOMMENDED ACTION: Check type of remote fax and redial.
  8763.  
  8764. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8765. RETURN_CODE: 131    MNEMONIC: BAD_MPS_RESPONSE
  8766.  
  8767.     DESCRIPTION: In Phase D the negotiation for Multiple pages was in error. 
  8768.     Operational error.
  8769.  
  8770.     RECOMMENDED ACTION: Check remote fax and redial.
  8771.  
  8772. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8773. RETURN_CODE: 132    MNEMONIC: BAD_MCF_RESPONSE
  8774.  
  8775.     DESCRIPTION: A message confirmation after training did not occur. Fatal error.
  8776.  
  8777.     RECOMMENDED ACTION: Check remote fax and redial.
  8778.  
  8779. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8780. RETURN_CODE: 133    MNEMONIC: BAD_DCS_RESPONSE
  8781.  
  8782.     DESCRIPTION: A bad response from the DCS message caused this error. Fatal error.
  8783.  
  8784.     RECOMMENDED ACTION: Check remote fax and redial.
  8785.  
  8786. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8787. RETURN_CODE: 134    MNEMONIC: PHASE_D_ERROR
  8788.  
  8789.     DESCRIPTION: An error occurred during the operation of a voice command. 
  8790.     Fatal error.
  8791.  
  8792.     RECOMMENDED ACTION: Check phone line and redial.
  8793.  
  8794. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8795. RETURN_CODE: 135    MNEMONIC: NO_PC_ACK
  8796.  
  8797.     DESCRIPTION: A PC_ACK was not received in response to the LOAD_DATA_COMMAND.
  8798.     A 5 sec time-out error to the host. Operational error.
  8799.  
  8800.     RECOMMENDED ACTION: Fax may have errors.
  8801.  
  8802. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8803. RETURN_CODE: 136    MNEMONIC: NO_DATA_RECEIVED
  8804.  
  8805.     DESCRIPTION: No data was received from the remote fax. Caused by a line drop or the
  8806.     remote fax abnormally terminated the call.
  8807.  
  8808.     RECOMMENDED ACTION: Check phone line.
  8809.  
  8810. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8811. RETURN_CODE: 137    MNEMONIC: PAGE_ERROR 
  8812.  
  8813.     DESCRIPTION: Page data was received in error from the remote fax. 
  8814.  
  8815.     RECOMMENDED ACTION: Check phone line.
  8816.  
  8817. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8818. RETURN_CODE: 138    MNEMONIC: SUCCESSFUL_RECEIVE
  8819.  
  8820.     DESCRIPTION: Fax was received successfully.
  8821.  
  8822.     RECOMMENDED ACTION: Ready for next fax transaction.
  8823.  
  8824. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8825. RETURN_CODE: 243    MNEMONIC: ROCK_ERROR
  8826.  
  8827.     DESCRIPTION: This error indicates that the Rockwell chip is not responding. 
  8828.     Operational error.
  8829.  
  8830.     RECOMMENDED ACTION: Turn off power and reinstall the board. If this does not
  8831.     correct the problem, contact Hayes Customer Service.
  8832.  
  8833.  
  8834. ==========================================================================
  8835. Appendix C
  8836. Status Codes
  8837.  
  8838.  
  8839. Status codes do not require a response from the Host. The code will reflect 
  8840. the state of the JT Fax 14400B Dual. It is not necessary to issue a PC_ACK 
  8841. command when receiving the status notification. However, the IDLE command 
  8842. in the Status Code field is recommended because it incorporates a more 
  8843. fault-tolerant coding algorithm. Status codes may be used to provide 
  8844. additional information during a fax call procedure.
  8845.  
  8846. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8847. STATUS CODE: 01    MNEMONIC: RING
  8848.  
  8849.     DESCRIPTION: A ring was detected during the dialing of number.
  8850.  
  8851. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8852. STATUS CODE: 02    MNEMONIC: SUBSCRIBER_INFO
  8853.  
  8854.     DESCRIPTION: CSI/TSI info is available in the buffer area.
  8855.  
  8856. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8857. STATUS CODE: 0E    MNEMONIC: PHASE_E_START
  8858.  
  8859.     DESCRIPTION: Start of T.30 Phase E.
  8860.  
  8861. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8862. STATUS CODE: 10    MNEMONIC: PHASE_A_START
  8863.  
  8864.     DESCRIPTION: Phase A begins call establishment.
  8865.  
  8866. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8867. STATUS CODE: 11    MNEMONIC: PHASE_B_START
  8868.  
  8869.     DESCRIPTION: Phase B starts the initial negotiation of speed and format.
  8870.  
  8871. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8872. STATUS CODE: 12    MNEMONIC: PHASE_C_START
  8873.  
  8874.     DESCRIPTION: Start of Phase C for fax transmission.
  8875.  
  8876. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8877. STATUS CODE: 13    MNEMONIC: PHASE_D_START
  8878.  
  8879.     DESCRIPTION: Start of Phase D and post message handling.
  8880.  
  8881. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8882. STATUS CODE: 20    MNEMONIC: NEGOTIATING_SPEED
  8883.  
  8884.     DESCRIPTION: Speed negotiation is occurring during Phase B.
  8885.  
  8886. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8887. STATUS CODE: 21    MNEMONIC: CONNECT
  8888.  
  8889.     DESCRIPTION: Indicates that all handshaking is complete and fax data will be
  8890. transmitted.
  8891.  
  8892. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8893. STATUS CODE: 22    MNEMONIC: VOICE_MODE
  8894.  
  8895.     DESCRIPTION: Notification of automatic voice mode is entered.
  8896.  
  8897.  
  8898. ==========================================================================
  8899. Appendix D
  8900. T.30 Phase Descriptions
  8901.  
  8902.  
  8903. Fax communication occurs in phases. As defined by the ITU-T the phases 
  8904. are:
  8905.  
  8906. ----------------------------------------
  8907. Phase A    Call Establishment
  8908. Phase B    Pre-message Procedure
  8909. Phase C    In-message Procedure
  8910. Phase D    Post Message Procedure
  8911. Phase E    Call Release
  8912.  
  8913. The following sections describe the phases as they relate to the JT Fax 
  8914. 14400B Dual in the default configuration.
  8915.  
  8916.  
  8917. **************************************************************************
  8918. Phase A
  8919. The calling fax (caller) goes "off hook" and listens for dialtone. After 
  8920. dialtone has been detected, dialing the phone number starts. The dialing call 
  8921. progress includes the detection of the ring and busy signals. In addition to the 
  8922. call progress, the T.30 1100-Hz CNG tone is transmitted with a cycle time 
  8923. of 0.5 seconds on and 3 seconds off. Transmission of the CNG cycle continues 
  8924. until the receiving fax (callee) transmits a T.30 2100 Hz CED. Once the CED 
  8925. is detected, the caller waits for a silent period. The silent period terminates 
  8926. Phase A for the caller.
  8927.  
  8928. The callee detects a "ring" signal and goes to off-hook. 1.8 
  8929. seconds after going "off hook", the callee transmits the 2100-Hz CED for 2.8 
  8930. seconds. The ending of the CED terminates Phase A for the callee.
  8931.  
  8932.  
  8933. **************************************************************************
  8934. Phase B
  8935. After a silent period of 75 milliseconds the receiver transmits a CSI, NSF and a 
  8936. DIS frame. The DIS frame contains the negotiating parameters. Once the DIS 
  8937. is transmitted, the receiver looks for a response from the caller. During a 3.5 
  8938. second time-out period, the receiver receives a DCS frame from the caller. 
  8939. Once a mode has been selected from the DCS frame, the caller transmits a 
  8940. training sequence 75 milliseconds later. If the training sequence is within 
  8941. error parameters, the receiver transmits a TCF. The TCF marks the end of 
  8942. Phase B for the receiver.
  8943.  
  8944. The caller detects a silent period and starts the pre-message handshake. The 
  8945. handshake begins with the reception of the DIS frame. After the reception of 
  8946. the DIS frame, the TSI and DCS frames are transmitted. The caller sends a 
  8947. training signal for 75 milliseconds after sending the DCS frame. The training 
  8948. signal has a duration of 1.5 seconds. If the signal was received without 
  8949. errors by the receiver, a CFR frame is received. The reception of the CFR 
  8950. frame marks the end of Phase B for the caller.
  8951.  
  8952.  
  8953. **************************************************************************
  8954. Phase C
  8955. The caller transmits the Fax message 75 milliseconds after the CFR. The 
  8956. format of the message is T.4 Huffman encoded data. A RTC sequence will be 
  8957. sent at the end of the page to signal the receiver to transition into Phase D.
  8958.  
  8959. The receiver receives the Fax message and examines the T.4 codes for errors. 
  8960. A "TIC" mark will be printed in the left most column to signify a line error. 
  8961. When a RTC is received, the receiver transitions into Phase D.
  8962.  
  8963.  
  8964. **************************************************************************
  8965. Phase D
  8966. The caller transmits one of the following:
  8967.  
  8968. Ñ    EOM
  8969. Ñ    MPS to start the procedure to re-enter Phase C
  8970. Ñ    EOP frame to proceed to Phase E. 
  8971.  
  8972. After receipt of a MCF from the receiver, the caller goes to either Phase E or 
  8973. re-enters Phase C. To re-enter Phase C, the caller transmits another train 
  8974. sequence. The caller looks for a confirmation of the retrain in the form of a 
  8975. RTP frame. Once an RTP is received, the caller re-enters Phase C. Exiting to 
  8976. Phase E requires only the reception of a MCF.
  8977.  
  8978. The receiver waits for a EOM, MPS or EOP frame. Upon receiving a MPS or EOM 
  8979. frame, the receiver transmits a MCF. After transmitting the MCF frame, the 
  8980. receiver looks for a training signal. If the signal is within error limits, the 
  8981. receiver transmits a CFR. Transmitting the CFR marks the end of Phase D and 
  8982. the receiver re-enters Phase C. If an EOP frame was received, the receiver 
  8983. transmits a MCF and proceeds to Phase E.
  8984.  
  8985.  
  8986. **************************************************************************
  8987. Phase E
  8988. The caller sends a DCN frame to the receiver and disconnects the telephone line.
  8989.  
  8990. The receiver waits for the reception of a DCN frame. After receiving a DCN, the 
  8991. receiver disconnects the telephone line.
  8992.  
  8993.  
  8994. ==========================================================================
  8995. Appendix E
  8996. Buffer Area Layout
  8997.  
  8998.  
  8999. The BUFFER_AREA is a multipurpose area used in several commands. The 
  9000. following chart defines the buffer area during different stages of a Fax 
  9001. operation.
  9002.  
  9003. Operation                Layout
  9004. --------------------------------------------------------------------------------
  9005. XMIT - TelephoneNumber        BYTE 0 - 60 used for phone number.
  9006. XMIT - Header            BYTE 0 - 19 used for TSI/CSI information
  9007.                     (optional if TSI/CSI command used)
  9008.                     Ñ    BYTE 55 used for page number;
  9009.                         followed by space
  9010.                     Ñ    BYTE 56-58 padded with spaces.
  9011.  
  9012. All other operations require the following: 
  9013.  
  9014.     BYTE         0 location
  9015.     WORD     0 - 1 location in INTEL Format
  9016.     LONG         0 - 3 location in INTEL Format
  9017.  
  9018. The buffer area is also used to transmit default CSI/TSI information. A zero 
  9019. in buffer [0] prohibits the buffer area CSI/TSI data from being transmitted.
  9020.  
  9021.  
  9022. ==========================================================================
  9023. Appendix F
  9024. OEM Code Guidelines
  9025.  
  9026. JT Fax provides a method to off-load code from the Server and run the code 
  9027. in the JT Fax while JT Fax is idle. Use the following guidelines to offload 
  9028. code: 
  9029.  
  9030. 1.    The code must be in 8088 assembly language.
  9031. 2.    Code segment must be 0H.
  9032. 3.    Stack frame and registers must be preserved.
  9033. 4.    Code size including data must not be greater than 28 KB.
  9034. 5.    The starting address for code must be 0:8800H.
  9035. 6.    Soft fonts are not available while using OEM code. 
  9036. 7.    Upon entry into OEM code the following registers contain values
  9037.  
  9038.     es:    Points to the JT Fax code segment
  9039.     ax:    Points to the OEM entry point for executing JT Fax commands
  9040.     bx:     Points to timer service routine for user timers
  9041.     cx:     Points to the OEM exit point
  9042.     ss:     Points to Stack Segment
  9043.     sp:     Points to Stack pointer.
  9044.  
  9045. 8.    Code must be in binary form.
  9046. 9.    Timer interrupts continue to run.
  9047.  
  9048.  
  9049. ==========================================================================
  9050. Appendix G
  9051. Command Codes
  9052.  
  9053.  
  9054. The following chart presents the JT Fax commands in numerical order by 
  9055. command code.
  9056.  
  9057.     Code        Command
  9058.     ---------------------------------------------
  9059.     00H         IDLE_STATUS
  9060.     01H         XMIT_COMMAND
  9061.     02H         BOARD_ACK_STATUS 
  9062.     03H         LOAD_DATA_COMMAND
  9063.     04H         LOAD_FONT_COMMAND
  9064.     05H         PC_ACK 
  9065.     06H         ERRFLAG 
  9066.     08H         EOPFLAG 
  9067.     0FH         EOTFLAG 
  9068.     10H         MANUAL_REC_COMMAND 
  9069.     10H         RECVINIT 
  9070.     20H         SET_CARRIER_COMMAND 
  9071.     21H         STATUS_COMMAND 
  9072.     22H         REC_PCX_ON_COMMAND 
  9073.     23H         REC_PCX_OFF_COMMAND 
  9074.     24H         ON_HOOK_COMMAND
  9075.     25H         OFF_HOOK_COMMAND 
  9076.     26H         FAX_MODE_COMMAND 
  9077.     27H         MODEM_MODE_COMMAND 
  9078.     28H         DTMF_ON_COMMAND
  9079.     29H         DTMF_OFF_COMMAND 
  9080.     2AH         DTMF_ON_TIME_COMMAND
  9081.     2BH         DTMF_OFF_TIME_COMMAND 
  9082.     2CH         DTMF_DIAL_COMMAND
  9083.     2DH         PULSE_DIAL_COMMAND 
  9084.     2EH         NO_BUSY_COMMAND
  9085.     2FH         BUSY_COMMAND
  9086.     30H         HARDWARE_RESET_COMMAND 
  9087.     31H         SOFTWARE_RESET_COMMAND 
  9088.     32H         PULSE_INTER_COMMAND 
  9089.     33H         RESET_DATA_PUMP
  9090.     34H         CNG_ON_COMMAND
  9091.     35H         CNG_OFF_COMMAND
  9092.     36H         CED_ON_COMMAND 
  9093.     37H         CED_OFF_COMMAND
  9094.     3AH         PULSE_BREAK_COMMAND 
  9095.     3BH         PULSE_MAKE_COMMAND 
  9096.     3EH         SPEAKER_ON_COMMAND 
  9097.     3FH         SPEAKER_OFF_COMMAND 
  9098.     4EH         EXTEND_STATUS_ON _COMMAND
  9099.     4FH         EXTEND_STATUS_OFF_COMMAND
  9100.     50H         FAX_144_MODE_ON_COMMAND
  9101.     51H         FAX_144_MODE_OFF_COMMAND
  9102.     52H         ENHANCED_MODE_ON _COMMAND
  9103.     53H         ENHANCED_MODE_OFF_COMMAND
  9104.     54H         SET_USER_TSI_COMMAND
  9105.     55H         SET_USER_CSI_COMMAND
  9106.     5FH         SETUP_VOICE_COMMAND 
  9107.     60H         CNG_DETECT_ON_COMMAND 
  9108.     61H         CNG_DETECT_OFF_COMMAND 
  9109.     62H         PLAY_START_COMMAND 
  9110.     63H         PLAY_END_COMMAND 
  9111.     64H         REC_START_COMMAND
  9112.     65H         REC_STOP_COMMAND 
  9113.     66H         EOVFLAG
  9114.     67H         GAIN_UP_COMMAND
  9115.     68H         GAIN_DOWN_COMMAND
  9116.     69H         SET_GAIN_COMMAND 
  9117.     6AH         SET_SAMPLE_RATE_COMMAND
  9118.     6BH         SET_SLEW_RATE_COMMAND 
  9119.     6CH         SILENCE_DETECTED_STATUS
  9120.     6FH         SET_ACT_TIMER_COMMAND 
  9121.     70H         DTMF_DETECT_STATUS 
  9122.     71H         RETURN_TO_DATA_COMMAND 
  9123.     72H         RETURN_TO_COMMAND
  9124.     73H         DTMF_DETECT_ON_COMMAND 
  9125.     74H         DTMF_DETECT_OFF_COMMAND
  9126.     75H         GET_DTMF_COMMAND 
  9127.     76H         EODFLAG
  9128.     77H        ONLINE_VOICE_REC_ON_COMMAND
  9129.     78H        ONLINE_VOICE_REC_OFF_COMMAND
  9130.     79H         OEM_CODE_COMMAND 
  9131.     7AH         OEM_LOAD_COMMAND 
  9132.     0F0H         GOOD_INIT
  9133.     0F1H         BAD_RAM 
  9134.     0F2H         BAD_ROM
  9135.     0FFH        BOARD_SYNC_COMMAND
  9136.  
  9137.  
  9138. ==========================================================================
  9139. Appendix H
  9140. References
  9141.  
  9142.  
  9143. CCITT Blue Book, Volume VII - Facscicle VII.3, "Terminal Equipment and Protocols for
  9144.  Telematic Services", Recommendations T.0-T.63, IXth Plenary Assembly, Melbourne, 
  9145. November 14-25,1988.
  9146.  
  9147. Rockwell R144EFX bps MONOFAX Modem Designers Guide, Document No. 29800N46, 
  9148. November 1990.
  9149.  
  9150. FAX, "Digital Facsimile Technology and Applications", McConnell, Bodson and Schaphorst, 
  9151. Second Edition, Artech House, Norwood, MA, 1992.
  9152.  
  9153.  
  9154. ==========================================================================
  9155. Appendix I
  9156. Hayes Customer Service
  9157.  
  9158.  
  9159. To obtain Warranty/Guarantee Service, call or write to the appropriate Hayes Customer Service 
  9160. location listed below for a return authorization number, and then return the product to that location 
  9161. along with (a) the return authorization number, (b) proof of date of purchase, and (c) your mailing 
  9162. address and telephone number, postage prepaid.
  9163.  
  9164. Please note that if the product is returned without proof of purchase or after the expiration of the 
  9165. warranty/guarantee coverage period, Hayes will, at its option, repair or replace the product and charge 
  9166. you the then effective Hayes price for out-of-warranty/guarantee service of the product, unless Hayes 
  9167. has discontinued the manufacture or distribution of the product because of technical obsolescence.
  9168.  
  9169. Americas Region    Hayes Microcomputer Products, Inc.
  9170. Attention: Customer Service
  9171. P.O. Box 105203
  9172. Atlanta, Georgia 30348-5203
  9173. Telephone: (404) 441-1617 Telefax: (404) 449-0087
  9174. Telex: 703500 HAYES USA
  9175. Online with Hayes BBS: (404) HI-MODEM or (800) US-HAYES and
  9176. Hayes forums on CompuServe (GO HAYES) and GEnie information
  9177. services.
  9178.  
  9179. Note: If the carrier requires a street address, direct returns to the following address:
  9180.  
  9181. Hayes Microcomputer Products, Inc.
  9182. Attention: Customer Service
  9183. 5953 Peachtree Industrial Blvd.
  9184. Norcross, Georgia 30092
  9185.  
  9186. Asia Region    Hayes Microcomputer Products, Inc.
  9187. 39/F, Unit B, Manulife Tower
  9188. 169 Electric Road, North Point, Hong Kong
  9189. Telephone + 852 887-1037, Telefax + 852 887-7548
  9190. Telex: 69381 HAYES HX
  9191. Online with Hayes BBS: + 852 887-7590
  9192.  
  9193.  
  9194. Note: This version of the "JT Fax 14400B Dual Application Developer's Guide" is a
  9195. special version edited for bulletin-board downloading. As a plain ASCII
  9196. character file, it therefore cannot contain any of the graphic elements
  9197.  provided in the printed version.
  9198.  
  9199. The following graphic characters are used to denote the start of Chapters,
  9200. 1st Level Headings, 2nd Level Headings, and Table Headings:
  9201.  
  9202. Chapter Headings are preceded by:
  9203. ==========================================================================
  9204.  
  9205. 1st Level Headings are preceded by:
  9206. **************************************************************************
  9207.  
  9208. 2nd Level Headings are preceded by:
  9209. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  9210.  
  9211. Table Headings are separated from table listings by:
  9212. -----------------------------------------------------------------------------
  9213.  
  9214. =============================================================================
  9215. CHANGE RECORD:
  9216.  
  9217.         Original
  9218.  
  9219.  
  9220. ==========================================================================
  9221. Chapter 1
  9222. Introduction
  9223.  
  9224.  
  9225. The Hayes JT Fax 14400B Dual is a board level Fax product developed specially 
  9226. for "high end" server environments where throughput is a major concern. 
  9227. The JT Fax 14400B Dual contains two independent 14.4 KBPS Group 3-compatible 
  9228. fax modems, providing an interface directly to the PC ISA bus. Both fax modems 
  9229. interface to the host software at the speed of the ISA bus specification (i.e., 4-8 
  9230. MHz). Data transfer between JT Fax and the host software can occur at the 
  9231. MBPS rate. In comparison, most serial based facsimile units can only transfer 
  9232. data in the KBPS range. Considering speed alone, the JT Fax 14400B Dual is ideal 
  9233. for server applications. 
  9234.  
  9235. Additional functionality is added to decrease the burden on the application 
  9236. software and thus the host computer. These features include:
  9237.  
  9238. Ñ    automatic T.4 encoding and T.30 handshakes
  9239. Ñ    receive Fax real time T.4 to PCX type 3 conversion
  9240. Ñ    Fax speeds of 2400 to 14400 BPS
  9241. Ñ    digital voice transmit and receive record/playback
  9242. Ñ    DTMF transmit and detection.
  9243.  
  9244. The JT Fax 14400B Dual is designed with a simple high-speed interface. The 
  9245. interface does not require that the application developer know T.4 encoding or 
  9246. T.30 handshake protocols for ITU-T (formerly CCITT) Group 3 facsimiles. The 
  9247. JT Fax 14400B Dual is capable of performing all the encoding and decoding 
  9248. required to complete a fax call. However, if the application developer is 
  9249. comfortable with the encoding and decoding of the T.4 formatted data, the JT 
  9250. Fax 14400B Dual is versatile enough to handle this encoded data.
  9251.  
  9252. This Application Developer╒s Guide describes the programming procedure that 
  9253. comprises the JT Fax 14400B Dual Application Programming Interface (API). A 
  9254. list of the functions is provided along with the necessary procedure to 
  9255. implement the functions. Throughout, the guide presents example routines 
  9256. using the elements of the functions to assist the programmer with the 
  9257. application. Included in Appendix G is a quick reference guide of the Command 
  9258. Codes indexed by alphabetical listings and by numeric listing. Also available 
  9259. with the JT Fax 14400B Dual is the developers toolkit, which contains working 
  9260. Fax software with source code. Familiarity with "C" and assembly language is 
  9261. required to use the toolkit. Contact Hayes Customer Service for information 
  9262. about obtaining the JT Fax Toolkit.
  9263.  
  9264. Distinction: JT Fax 14400B Dual is the product described in this Guide. JT Fax is a standard technology in the PC fax industry. The term fax refers to the facsimile technology.
  9265.  
  9266.  
  9267. **************************************************************************
  9268. Manual Organization
  9269. This Application Developer's Guide is arranged as follows:
  9270.  
  9271. This Application/Developers Guide is arranged as follows:
  9272.  
  9273. Chapter 1    Introduction describes the product features and the contents of 
  9274. the remainder of this Guide.
  9275.  
  9276. Chapter 2    Theory of Operation briefly presents the hardware and firmware 
  9277. used to develop the JT Fax 14400B Dual.
  9278.  
  9279. Chapter 3    JT Fax Toolbox describes the concepts, constructs, and structures 
  9280. necessary to develop API software for the JT Fax 14400B Dual.
  9281.  
  9282. Chapter 4    Voice and DTMF Detect describes the voice and DTMF operating 
  9283. modes available with the JT Fax 14400B Dual.
  9284.  
  9285. Chapter 5    Command Reference presents an alphabetical listing of all 
  9286. command codes available in the JT Fax API.
  9287.  
  9288. Chapter 6    Shared Memory Interface Description introduces functions, 
  9289. status codes, return codes and data that is passed through the Shared Memory 
  9290. Interface.
  9291.  
  9292. Chapter 7    File Formats describes the JT Fax file conversion formats.
  9293.  
  9294. Appendix A    ITU-T T.4 Huffman Encoding describes the T.4 Huffman 
  9295. Encoding process used by JT Fax.
  9296.  
  9297. Appendix B    Return Codes describes the timing JT Fax requires to read a return 
  9298. code. The appendix also includes a summary of the JT Fax Return Codes.
  9299.  
  9300. Appendix C    Status Codes provides a summary of the JT Fax Status Codes.
  9301.  
  9302. Appendix D    T.30 Phase Descriptions describes fax call processing techniques 
  9303. used by JT Fax.
  9304.  
  9305. Appendix E    Buffer Area Layout describes the Buffer Area used by several of 
  9306. the JT Fax commands.
  9307.  
  9308. Appendix F    OEM Code Guidelines defines the methodology JT Fax employs to 
  9309. offload code from a fax server.
  9310.  
  9311. Appendix G    Command Codes provides a complete listing of the JT Fax Command 
  9312. Codes in numerical order.
  9313.  
  9314. Appendix H    References lists references used in the development of the 
  9315. product.
  9316.  
  9317. Glossary    Glossary defines terms used in this guide.
  9318.  
  9319. **************************************************************************
  9320. Definitions
  9321. The following terms are used in this documentation:
  9322.  
  9323. Term        Definition
  9324. --------------------------------------------------------------------
  9325. Host         The Program written to interface with the JT Fax
  9326. JT Fax, Fax    The JT Fax 14400B Dual board
  9327. API        Application Programming Interface
  9328. API Block    Shared memory window
  9329. BPS        Bits per second
  9330. WORD        2 bytes
  9331. LONG        4 bytes
  9332.  
  9333. Additional definitions are listed in the Glossary.
  9334.  
  9335.  
  9336. ==========================================================================
  9337. Chapter 2
  9338. Theory of Operation 
  9339.  
  9340.  
  9341. The JT Fax 14400B Dual board includes two, 14400-baud, Group 3 facsimile 
  9342. modems with voice and DTMF capabilities. The facsimile modems are divided 
  9343. into two independent and separate parts, Fax A and Fax B. Each Fax has an 
  9344. independent processor, PC address interface, data pump and telephone line 
  9345. interface (TELCO) section. Both modems share a single PC bus interface and a 
  9346. speaker connection. The speaker volume is controlled by a potentiometer on 
  9347. the back of the unit. Speaker on/off controls are available for both FAX A and 
  9348. B through functions.
  9349.  
  9350. Fax A has the additional feature of a microphone jack. The microphone jack is 
  9351. provided for voice messaging applications.
  9352.  
  9353. **************************************************************************
  9354. Shared Memory Interface - API Block
  9355. The JT Fax interfaces to the PC through a shared memory interface. Access to 
  9356. the shared memory API Block is accomplished by two steps. 
  9357.  
  9358. Step 1:    Set the memory base address set with the DIP switch (see the 
  9359. Hayes JT Fax 14400B Dual Installation Guide) on the JT Fax 14400B Dual board. 
  9360.  
  9361. Step 2:    Scan the memory between addresses 640k and 1M for the keyword 
  9362. "ASHER". Once the keyword is found, the keyword address marks the 
  9363. beginning memory address of the JT Fax API Block.
  9364.  
  9365. The memory address is "blocked out" in a 4 Kb section. The starting address is 
  9366. Fax A. Fax A utilizes the first 2 Kb for an API Block. The adjacent 2K of memory 
  9367. is allocated to Fax B's API Block.
  9368.  
  9369. The shared memory interface requires no interrupt vectors to the PC, no serial 
  9370. port, and no drivers. The application communicates with the JT Fax shared 
  9371. memory using a polled interface method. Polling activation and frequency is 
  9372. host dependent and is determined by the application.
  9373.  
  9374. The handshake required to communicate with JT Fax 14400B Dual utilizes the JT 
  9375. Fax protocol structure. The JT Fax protocol is an ACK-ACK type protocol. All data 
  9376. and commands use this protocol. Chapter 5 provides protocol examples for each 
  9377. command.
  9378.  
  9379. The API Block contains memory windows for command protocol, control, 
  9380. configuration, and data. The Shared Memory Interface (see Chapter 6) details 
  9381. the API block. The API block's most important asset is the 1960 byte buffer for 
  9382. transmitting and receiving fax data. This allows additional time for the host to 
  9383. perform other activities. In addition, the JT Fax has a 9K buffer for transmitting
  9384. and receiving Fax data.
  9385.  
  9386. The transmit and receive capability of the JT Fax 14400B Dual board offers two 
  9387. modes of operation for the host: Manual and Automatic. Manual requires the 
  9388. host to start the initial call/answer procedure by issuing commands that force 
  9389. the Fax into the "off-hook" condition. The remainder of the call/answer is 
  9390. automatic.
  9391.  
  9392. In the Automatic procedure, the call/answer is handled by issuing the 
  9393. appropriate transmit and receive commands. The "off-hook" condition is 
  9394. controlled by the Fax.
  9395.  
  9396.  
  9397. **************************************************************************
  9398. Transmitting
  9399. Transmitting with the JT Fax 14400B Dual is straight-forward since the modem 
  9400. automatically executes the T.4 and T.30 handshake. The host is only responsible 
  9401. for the phone number, data to be transmitted, and the simple handshake 
  9402. protocol to JT Fax and the host. 
  9403.  
  9404. The following is a high level Program Design Language (PDL) example 
  9405. demonstrating a transmit.
  9406.  
  9407.     send SYNC_COMMAND        (only after power up )
  9408.     wait for response
  9409.         GOOD_INIT
  9410.     write to configure API block
  9411.     write phone number in BUFFER_AREA
  9412.     send XMIT_COMMAND
  9413.     wait for response 
  9414.         BOARD_ACK_STATUS
  9415.     write header information into BUFFER_AREA
  9416.     send PC_ACK
  9417.     wait for response LOAD_DATA_COMMAND
  9418.     write data to DATA_AREA
  9419.     send PC_ACK
  9420.     continue to write data till END_OF_FILE is reached
  9421.     send EOT_FLAG
  9422.     wait for response BOARD_ACK_STATUS
  9423.     check ret_code
  9424.         TRANSMIT_SUCCESSFUL
  9425.     send PC_ACK
  9426.  
  9427. A C programming language example of the transmit procedure can be found 
  9428. in the JT Fax Toolkit found on the Online with Hayes BBS in the file JT_TX.C.
  9429.  
  9430. The JT Fax 14400B Dual can have a manual dial if required. The host is required 
  9431. to dial the telephone number and place an "M" in the first byte of the 
  9432. automatic dial string. The "M" tells the JT Fax not to dial a telephone number. The 
  9433. JT Fax continues with the standard call progress. The manual handshake is 
  9434. identical to the automatic handshake.
  9435.  
  9436.  
  9437. *****************************************************************************
  9438. Receiving
  9439. The receive procedure for JT Fax 14400B Dual requires the host to monitor the 
  9440. Fax for an indication of a call. The host sets the number of rings to allow 
  9441. before answering in the RING_COUNT field of the API block. Answering the 
  9442. call and T.30 handshakes are automatic. Once the RING_COUNT is matched, the 
  9443. host receives a RECVINIT in the COMMAND field. The RECVINIT is the 
  9444. notification that an incoming call is being answered.
  9445.  
  9446. After the receiver initializes, the Fax issues a LOAD_DATA_COMMAND. The host 
  9447. should retrieve the data and respond with a PC_ACK. The same handshake 
  9448. continues until the last byte of data for the page or a transmission. To end 
  9449. transmission, the Fax issues an EOT command to the host. The EOT command 
  9450. concludes the handshake for the receive.
  9451.  
  9452. The following is a PDL example demonstrating a fax receive:
  9453.  
  9454.     send SYNC_COMMAND        ( only after power up )
  9455.     wait for response
  9456.         RECVINIT
  9457.     send PC_ACK 
  9458.     wait for response
  9459.         LOAD_DATA_COMMAND
  9460.     retrieve data from DATA_AREA
  9461.     send PC_ACK
  9462.     continue procedural handshake until response
  9463.         EOT_FLAG
  9464.     retrieve data from DATA_AREA    
  9465.     send PC_ACK
  9466.     wait for response
  9467.         BOARD_ACK_STATUS
  9468.     check RET_CODE
  9469.         SUCCESSFUL_RECEIVE
  9470.     send PC_ACK
  9471.     
  9472. A C programming language example of the receive procedure can be found 
  9473. in the JT Fax Toolkit found on the Online with Hayes BBS under the file JT_RX.C.
  9474.  
  9475. The manual receive allows the host to determine when and if the call will be 
  9476. answered. Rings are detected by an outside source or by the extended status 
  9477. code "RING". When the required number of rings is reached, the host issues 
  9478. the MANUAL_RECEIVE_COMMAND.
  9479.  
  9480. Note: To disable automatic detection, it is required to set RING_COUNT to 0FH. 
  9481.  
  9482. The remaining receive handshake procedure is identical to the automatic 
  9483. answer mode.
  9484.  
  9485.  
  9486. ==========================================================================
  9487. Chapter 3
  9488. JT Fax Toolbox
  9489. This section establishes the concepts, constructs, and structures necessary to 
  9490. develop API software. The items in capital letters are the specific functions 
  9491. whose corresponding command values are found in the JT Fax 14400B 
  9492. command set in Chapter 5.
  9493.  
  9494.  
  9495. The JT Fax 14400B Dual uses two contiguous memory blocks, each of which is 2K 
  9496. bytes long. The API Blocks, functions, return codes and status codes are 
  9497. discussed in separate sections of this Guide. In those Chapters, individual items 
  9498. are in alphabetical order for convenience. In the following sections, the items 
  9499. are grouped by function to clarify what functions are available.
  9500.  
  9501.  
  9502. **************************************************************************
  9503. API Block - Shared Memory
  9504. The API entry point for the JT Fax 14400B is the user selectable shared memory 
  9505. window. For backward compatibility, most of the elements of this structure are 
  9506. identical to the JT Fax 9600B. The only changes implemented to this structure 
  9507. are related to the new features of the JT Fax 14400B Dual. The changes are in 
  9508. the field previously defined as RESERVED and in one field not used in 9600B 
  9509. (RESET_PC). The new fields are STATUS_CODE, RCV_FILE_TYPE and RCV_LINES. 
  9510. The following chart describes the available fields:
  9511.  
  9512.  
  9513. Offset Length    Name            Usage/Description
  9514. -----------------------------------------------------------------------
  9515. 0000H-0005H     ID            Location of board address
  9516. 0005H-0001H     COMMAND        Commands and Status
  9517. 0006H-0001H     RING_COUNT    Ring to answer on
  9518. 0007H-0001H     CALL_MODE        Transmit / Receive
  9519. 0008H-0001H     FILE_TYPE         ASCII, PCX, JT Fax
  9520. 0009H-0001H     XMIT_FONT         Resolution, Font number
  9521. 000AH-0001H     MIN_PAGE         Force 11 inch page flag
  9522. 000BH-003DH     BUFFER_AREA     Phone numbers & headers
  9523. 0048H-0002H     SECONDS         Length of connection
  9524. 004AH-0001H     SPEAKER         On, off, on till connect
  9525. 004BH-0001H     RET_CODE         Completion code
  9526. 004CH-0002H     PAGES         Number of pages sent
  9527. 004EH-0002H     DATA_LEN         Length of valid data
  9528. 0050H-0001H     BAUD_RATE         2400, 4800, 7200, 9600, 12000,
  9529.                         14400 baud
  9530. 0051H-0001H     RESET_BOARD     Reset the board
  9531. 0052H-0001H     STATUS_CODE     Extended status
  9532. 0053H-0001H    LINE_COUNT        Number of lines transmitted
  9533. 0054H-0001H     RCV_FILE_TYPE     Receive file type
  9534. 0055H-0002H     RCV_LINE         Lines per page received
  9535. 0057H-0001H     RESERVED         Not used at this time
  9536. 0058H-07A8H     DATA_AREA     Used for file data
  9537.  
  9538. Note: H indicates hexadecimal code.
  9539.  
  9540.  
  9541. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  9542. JT Fax 9600 Compatibility
  9543. For backward compatibility, the API set published with the JT Fax 9600B has 
  9544. been fully implemented. These functions use the Command field and are 
  9545. provided here for reference.
  9546.  
  9547. Status                Description
  9548. ------------------------------------------------------------------
  9549. EOTFLAG                End of transmission
  9550. EOP                    End of page
  9551. INIT                    Initialize the board
  9552. LOAD_DATA_COMMAND        Begin transmit of Fax
  9553. LOAD_FONT_COMMAND        Load soft font
  9554. RECVINIT                Begin reception of Fax
  9555. XMIT_COMMAND            No transmission in progress
  9556.  
  9557. The JT Fax 9600B also included some status and PC handshake codes in the 
  9558. Command field. These are fully implemented for backward compatibility. The 
  9559. codes are provided here for reference.
  9560.  
  9561. Command                Description
  9562. ------------------------------------------------------------------------------
  9563. BAD_RAM                RAM test failed
  9564. BAD_ROM                ROM test failed
  9565. BOARD_ACK_STATUS        Board returns when function complete
  9566. BOARD_SYNC_COMMAND        Transition from initialization to 
  9567.                     command
  9568. ERROR                An error has occurred
  9569. GOOD_INIT                Board passed self test
  9570. IDLE_STATUS             No transmission in progress
  9571. PC_ACK                PC returns when function is complete
  9572.  
  9573.  
  9574. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  9575. JT Fax 14400B Facsimile API
  9576. The JT Fax 14400B API set is an enhanced version of the 9600B API set. All of 
  9577. the 9600B functions are supported. The following chart lists the facsimile API 
  9578. commands supported:
  9579.  
  9580. Command                Description
  9581. -------------------------------------------------------------------
  9582. EOTFLAG                End of transmission
  9583. EOP_FLAG                End of page
  9584. BOARD_SYNC_COMMAND        Initializes the board
  9585. LOAD_DATA_COMMAND        Begin transmit of Fax
  9586. LOAD_FONT_COMMAND        Load soft font
  9587. RECVINIT                Begin reception of Fax
  9588. XMIT_COMMAND            No transmission in progress
  9589.  
  9590.  
  9591. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  9592. JT Fax 14400B Configuration API
  9593. The JT Fax 14400B Dual Configuration functions were not available in the JT 
  9594. Fax 9600B command set. These configuration functions allow the host to 
  9595. customize the operation of the JT Fax 14400B Dual board. The following chart 
  9596. lists the configuration commands:
  9597.  
  9598. Command                Description
  9599. ----------------------------------------------------------------------
  9600. BUSY_COMMAND            Look for busy
  9601. DTMF_OFF_TIME_COMMAND    DTMF off time
  9602. DTMF_ON_TIME_COMMAND    DTMF on time
  9603. ENHANCED_MODE_OFF_COMMANDDisable 14400B modes
  9604. ENHANCED_MODE_ON_COMMAND    Enable all 14400B modes
  9605. EXTEND_STATUS_OFF_COMMAND    Disable extended status
  9606. EXTEND_STATUS_ON_COMMAND    Enable extended status
  9607. FAX_144_MODE_OFF_COMMAND    Disable receive 14400 kbps
  9608. FAX_144_MODE_ON_COMMAND    Enable receive 14400 kbps
  9609. FAX_MODE_COMMAND        Enable JT Fax Mode (testing)
  9610. MODEM_MODE_COMMAND        Disable Fax and enable Modem
  9611. NO_BUSY_COMMAND        Do not look for busy
  9612. PULSE_INTER_COMMAND        Interdigit time
  9613. REC_PCX_OFF_COMMAND        Disable receive PCX format
  9614. REC_PCX_ON_COMMAND        Enable receive PCX format
  9615. SET_CARRIER_COMMAND        Time to wait for carrier
  9616. STATUS_COMMAND            Enable the 14400B status
  9617. USER_CSI_COMMAND        Initializes CSI
  9618. USER_TSI_COMMAND        Initializes TSI
  9619.  
  9620.  
  9621. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  9622. Voice Commands
  9623. The Voice mode allows the recording and playback of non-compressed voice 
  9624. messages. 
  9625.  
  9626. During Phase A of a call, the Voice mode is entered after a user definable 
  9627. period of silence. (See Appendix D for a detailed description of JT Fax fax 
  9628. phases). After a period of silence, the user is notified of the "silent period" 
  9629. (SILENCE_DETECTED status) and is provided with a number of options. In 
  9630. addition, DTMF detect is automatically enabled.
  9631.  
  9632. Command                Description
  9633. -------------------------------------------------------------------------------
  9634. CLEAR_VOICE_COMMAND        Disables voice mode
  9635. GAIN_DOWN_COMMAND        Decrements gain increment by 1 dB 
  9636.                     (See SET_GAIN_COMMAND)
  9637. GAIN_UP_COMMAND        Increments the gain increment by 1 dB
  9638.                     (See SET_GAIN_COMMAND)
  9639. PLAY_END_COMMAND        End voice playback
  9640. PLAY_START_COMMAND        Start voice play back
  9641. RECORD_START_COMMAND    Start recording voice
  9642. RECORD_STOP_COMMAND        Stop recording voice
  9643. RETURN_TO_COMMAND         Return to command state from voice
  9644.                     mode
  9645. RETURN_TO_DATA_COMMAND    Return to Fax state from voice mode
  9646. SET_ACT_TIMER_COMMAND    Sets the time to wait for CNG tone
  9647. SET_GAIN_COMMAND        Sets the gain increment
  9648. SET_SLEW_RATE_COMMAND    Sets the "fall off rate" for voice signal 
  9649. SET_VOICE_MODE_COMMAND    Enables voice mode and CNG detect
  9650. TX_DTMF_COMMAND        Transmit DTMF tones
  9651.  
  9652. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  9653. Utility Functions
  9654. Some additional functions were added to aid in testing and debugging. The 
  9655. utility functions provide some of the low-level commands (primitives) used by 
  9656. the JT Fax 14400B to operate the hardware components. The JT Fax 14400B must 
  9657. be in FAX_MODE before any of the utility commands can be used. 
  9658.  
  9659. Caution: Some of these commands change the configuration of the Data Pump. 
  9660. If a change occurs to the data pump configuration, then a hardware reset will 
  9661. restore the values.
  9662.  
  9663. Command                Description
  9664. ------------------------------------------------------------------
  9665. CED_OFF_COMMAND        Turn off CED tone
  9666. CED_ON_COMMAND            Turn on CED tone
  9667. CNG_OFF_COMMAND        Turn off CNG tone
  9668. CNG_ON_COMMAND            Turn on CNG tone
  9669. DTMF_DIAL_COMMAND        Dial a DTMF number
  9670. DTMF_OFF_COMMAND        Turn off a DTMF tone
  9671. DTMF_ON_COMMAND        Turn on a DTMF tone
  9672. OEM_CODE_COMMAND        Execute OEM code onboard
  9673. OEM_LOAD_COMMAND        Load OEM code onboard
  9674. OFF_HOOK_COMMAND        Connects phone line
  9675. ON_HOOK_COMMAND        Disconnects phone line
  9676. PULSE_BREAK_COMMAND        Sets the Break Time
  9677. PULSE_DIAL_COMMAND        Pulse dial a number
  9678. PULSE_MAKE_COMMAND        Sets the Make Time
  9679. RESET_DATA_PUMP_COMMAND    Resets the data pump
  9680. SPEAKER_OFF_COMMAND        Turn off the speaker
  9681. SPEAKER_ON_COMMAND        Turn on the speaker
  9682.  
  9683.  
  9684. **************************************************************************
  9685. Return Codes
  9686. The return codes are enhanced for the JT Fax 14400B. In addition to the old JT 
  9687. Fax 9600B error codes, enhanced codes are available for more accurate 
  9688. problem determination during a FAX call.
  9689.  
  9690. The standard JT Fax 9600B return codes include two status codes, and the 
  9691. remaining codes are error return codes. The return codes are listed in the 
  9692. following table.
  9693.  
  9694. Error Code                Description
  9695. --------------------------------------------------------------------------------
  9696. BAD_DCS_RECEIVE            Error in DCS data
  9697. BAD_DIS_RECEIVE            Bad DIS was received
  9698. BAD_MCF_RESPONSE        Messages not confirmed
  9699. BAD_MPS_RECEIVE            Error in MPS frame
  9700. BAD_TRAINING            Errors received in training
  9701. BUSY                    Busy signal was detected
  9702. CLIPPED                ASCII to T4 line too long
  9703. NO_CARRIER            No connection was established
  9704. NO_DATA_RECEIVED        No data received within time limit
  9705. NO_DIALTONE            No dialtone reported in time limit
  9706. NO_PC_ACK                No PC acknowledge within time limit
  9707. PAGE_ERROR            Error in transmit page or receive page
  9708. PHASE_D_ERROR            Error occurred in Phase D
  9709. SUCCESSFUL_RECEIVE        Receive was successful
  9710. SUCCESSFUL_TRANSMIT        Transmit was successful
  9711.  
  9712. The enhanced mode can be enabled/disabled by the following commands:
  9713.  
  9714. Ñ    ENHANCED_MODE_ON
  9715. Ñ    ENHANCED_MODE_OFF (default).
  9716.  
  9717. The additional enhanced return codes are listed in the following table.
  9718.  
  9719. Error Code                Description
  9720. ------------------------------------------------------------------------------
  9721. ABORT_ERROR            Callee aborted call
  9722. DCN_RECEIVED_ERROR        Unexpected DCN received
  9723. DIALING_ERROR            DTMF digit in error
  9724. DTMF_ERROR            Tone was not DTME
  9725. DTMF_TIMEOUT_ERROR        DTMF tone was not available during timeout
  9726. FAXIT_ERROR            Error during fax transmission
  9727. FONT_TOO_LARGE_ERROR        Soft font too large
  9728. HDLC_CRC_ERROR            HDLC frame had bad CRC
  9729. HDLC_FRAME_TIMEOUT_ERROR    No HDLC frame in time limit
  9730. HDLC_MIN_SIZE_ERROR        Facsimile control frames had incorrect size
  9731. LONG_LINE_ERROR            Line too long in ASCII to Huffman
  9732. MAX_FRAME_ERROR        Facsimile control frames had incorrect size
  9733. NEGOTIATING_TRAIN_DCN_ERROR    DCN received during training
  9734. NO_CNG_ERROR            No CNG detected in received mode
  9735. NO_RECEIVE_DCS_ERROR        No DCS received
  9736. PERCENTAGE_ERROR        Errors in line exceeded percentage limits
  9737. PHASE_A_ERROR            Error occurred in Phase A
  9738. PHASE_B_ERROR            Error occurred in Phase B
  9739. PHASE_C_ERROR            Error occurred in Phase C
  9740. PHASE_E_ERROR            Error occurred in Phase E
  9741. PHASE_E_TIMEOUT            Time-out during handshake Phase E
  9742. ROCK_ERROR            Error in DSP chip
  9743. VOICE_ERROR            Error in voice procedures
  9744.  
  9745.  
  9746. **************************************************************************
  9747. Status Codes
  9748. In addition to the enhanced error codes, enhanced status messages are 
  9749. available. Since status codes do not require a response or action, the codes are 
  9750. reported in the STATUS_CODE.
  9751.  
  9752. Status            Description
  9753. ----------------------------------------------------------
  9754. CONNECT            Connection established
  9755. NEGOTIATING_SPEED    Negotiating connect speed
  9756. PHASE_A_START        Phase A started
  9757. PHASE_B_START        Phase B started
  9758. PHASE_C_START        Phase C started
  9759. PHASE_D_START        Phase D started
  9760. RING                Ring detected
  9761. SUBSCRIBE_INFO        CSI/TSI information available in buffer area
  9762.  
  9763.  
  9764. ==========================================================================
  9765. Chapter 4
  9766. Voice and DTMF Detect
  9767.  
  9768.  
  9769. The voice and DTMF detect option of the JT Fax 14400B Dual has a Manual and an 
  9770. Automatic operating mode. Automatic requires a connection while Manual may 
  9771. be initiated in an off- line or on-line state.
  9772.  
  9773. The Automatic DTMF/VOICE detection for JT Fax 14400B Dual detects DTMF/VOICE 
  9774. during the Phase A (answer mode) of a call. Enable the 
  9775. CNG_DETECT_ON_command for the automatic option. To disable the automatic 
  9776. mode, issue the CNG_DETECT_OFF_COMMAND.
  9777.  
  9778. After a user-defined period of silence (no CNG tone), the JT Fax 14400B Dual 
  9779. enters DTMF/VOICE mode. During this stage, the user has the following options:
  9780.  
  9781. Ñ    detecting DTMF tones
  9782. Ñ    returning to data mode and continuing to answer Fax calls (i.e., send 
  9783. CED)
  9784. Ñ    executing voice commands
  9785. Ñ    returning to command state. 
  9786.  
  9787. The Manual mode only requires setting the options for DTMF/VOICE and the 
  9788. specific command to be issued. Manual mode is independent of connection 
  9789. status.
  9790.  
  9791.  
  9792. **************************************************************************
  9793. DTMF Detect
  9794. Automatic DTMF detection is accomplished when the JT Fax 14400B Dual is in 
  9795. the DTMF/VOICE ╥on-line╙ detect mode. The JT Fax 14400B Dual automatically 
  9796. searches for DTMF tones. If a DTMF tone is found, the tone value is placed in 
  9797. the first byte of the Data_Area and a DTMF_DETECT_STATUS is written into the 
  9798. API command block at location COMMAND. The JT Fax 14400B Dual waits until 
  9799. the Host retrieves the DTMF value and issues a PC_ACK command before 
  9800. searching for more DTMF tones.
  9801.  
  9802. The manual option provides the capability of entering DTMF detect mode from 
  9803. command state. This is independent of connect status. The JT Fax 14400B Dual 
  9804. operates similarly to the automatic DTMF detect. The difference is that the Host 
  9805. must cancel the DTMF detect search with an EOD command. The JT Fax 14400B 
  9806. Dual issues a BOARD_ACK_COMMAND in response. 
  9807.  
  9808. The option for CNG_DETECT does not have to be enabled for the manual DTMF 
  9809. detect. However, DTMF detect option does need to be enabled for manual and 
  9810. automatic operation.
  9811.  
  9812. The DTMF tones detected and reported to the Host are:
  9813.  
  9814.     1, 2, 3, 4, 5, 6, 7, 8, 9, 0, *, #, A, B, C, D.
  9815.  
  9816. Commands available for Automatic operation are:
  9817.  
  9818.     CNG_DETECT_ON_COMMAND
  9819.     DTMF_DIAL_COMMAND
  9820.     DTMF_DETECT_STATUS
  9821.     RETURN_TO_DATA_COMMAND
  9822.     RETURN_TO_COMMAND
  9823.  
  9824. Commands available for manual operation include:
  9825.  
  9826.     DTMF_DETECT_ON_COMMAND
  9827.     EOD
  9828.     DTMF_DETECT_STATUS
  9829.  
  9830. The following is an example of automatic DTMF detect:
  9831.  
  9832.     (Connecting Call)
  9833.         .
  9834.         .
  9835.         .
  9836.     Wait for Response
  9837.         SILENCE_DETECT_STATUS
  9838.     Check Status
  9839.         VOICE_MODE
  9840.         .
  9841.         .
  9842.         .
  9843.     Wait for Response
  9844.         DTMF_DETECT_STATUS
  9845.     Retrieve Byte Code from Data_Area
  9846.     Send PC_ACK
  9847.         .
  9848.         .
  9849.         .
  9850.     (Continuing in DTMF/Voice Mode)
  9851.  
  9852. The following is an example of manual DTMF detect:
  9853.  
  9854.     Send GET_DTMF_COMMAND
  9855.     Wait for Response
  9856.         BOARD_ACK_STATUS
  9857.     Wait for Response
  9858.         DTMF_DETECT_STATUS
  9859.     Retrieve Byte Data from Data_Area
  9860.     Send PC_ACK
  9861.         .
  9862.         .
  9863.         .
  9864.     (When Finished)
  9865.     Send EOD_FLAG
  9866.     Wait for Response
  9867.         BOARD_ACK_COMMAND
  9868.     Send PC_ACK
  9869.  
  9870.  
  9871. **************************************************************************
  9872. Voice Mode
  9873. Voice mode can be entered when you are connected or disconnected to the 
  9874. phone line. When connected, voice recording is provided from the telephone 
  9875. line to either Fax A or Fax B. In the disconnected mode, input is provided by a 
  9876. microphone on Fax A only. 
  9877.  
  9878. In automatic voice mode, DTMF and voice are enabled. During Phase A of the 
  9879. call, the Voice mode is entered after a user definable period of silence. After 
  9880. the period of silence, the Host is notified of the "silent period" 
  9881. (SILENCE_DETECTED status) and starts to execute options similar in 
  9882. functionality to the Class 2 voice commands. 
  9883.  
  9884. The options in Automatic mode are:
  9885.  
  9886. Command                Description
  9887. ----------------------------------------------------------------------------------
  9888. CNG_DETECT_ON_COMMAND    Enables voice mode and CNG detect
  9889. CNG_DETECT_OFF_COMMAND    (default)
  9890. SET_ACTIVITY_TIMER        Sets the time to wait for CNG tone
  9891. GAIN_UP                Increases the gain increment by 1 dB
  9892. GAIN_DOWN                Decrements gain increment by 1 dB
  9893. SET_GAIN                Sets the gain increment
  9894. SET_SLEW_RATE            Sets the "fall-off rate" for voice signal
  9895. RETURN_TO_COMMAND        Returns to command state from voice mode
  9896. RECORD_START            Starts recording voice
  9897. RECORD_STOP            Stops recording voice
  9898. PLAY_START            Starts voice play back
  9899. PLAY_END                Ends voice playback
  9900. DIAL_DTMF_COMMAND        Transmits DTMF tones
  9901.  
  9902. Manual voice mode requires the host to issue the SETUP_VOICE_COMMAND from 
  9903. command state. Once the command is received by the FAX, the JT Fax 14400B 
  9904. Dual enters the VOICE/DTMF mode and all commands available for Automatic 
  9905. mode are applicable except the RETURN_TO_DATA_COMMAND.
  9906.  
  9907. During the actual playing and recording of a message, the DTMF detection is 
  9908. not available. This is due to the half-duplex nature of the 144EFX chip and 
  9909. different modes required for DTMF DETECT and VOICE mode. However, after the 
  9910. message is sent DTMF detection may occur.
  9911.  
  9912. Voice data format during record and playback is in a raw binary 8-bit 
  9913. resolution format.
  9914.  
  9915. The following PDL example is for automatic voice playback:
  9916.  
  9917.     (Initiate Call)
  9918.         .
  9919.         .
  9920.         .
  9921.     Wait for Response
  9922.         SILENCE_DETECT_STATUS
  9923.     Send PC_ACK
  9924.     Write Voice Data in Data_Area
  9925.     Send Play Start
  9926.     Wait for Response
  9927.         LOAD_DATA_COMMAND
  9928.         .
  9929.         .
  9930.         .
  9931.     (Finish Data)
  9932.         SEND_EOV_FLAG
  9933.     Wait for Response
  9934.         BOARD_ACK_COMMAND
  9935.     Send PC_ACK
  9936.         .
  9937.         .
  9938.         .
  9939.     (Continue with Voice/DTMF loop)
  9940.  
  9941. Voice playback is completed.
  9942.  
  9943. The following example is for manual record off-line.
  9944.  
  9945. Step 1:    Attach the microphone to the Fax A microphone jack.
  9946.  
  9947. Step 2:    Start the voice recording process:
  9948.  
  9949.         Send REC_START_COMMAND
  9950.         Wait for Response
  9951.             BOARD_ACK_STATUS
  9952.         Wait for Response
  9953.             LOAD_DATA_COMMAND
  9954.         Retrieve voice data from Data_Area
  9955.         Send PC_ACK
  9956.             .
  9957.             .
  9958.             .
  9959.         Wait for Response
  9960.             EOVFLAG
  9961.         Send PC_ACK
  9962.  
  9963. This completes the voice recording. 
  9964.  
  9965. To use Manual Voice Recording, use the previous procedure, but replace the 
  9966. REC_START_COMMAND with the MANUAL_REC_COMMAND.
  9967.  
  9968.  
  9969. ==========================================================================
  9970. Chapter 5
  9971. Command Reference
  9972.  
  9973.  
  9974. This Chapter includes detailed descriptions of the JT Fax command set. The 
  9975. point of reference is from the HOST side for all commands. The command 
  9976. descriptions are in the following format:
  9977.  
  9978. Characteristic        Description
  9979. COMMAND:             Specific function or status mnemonic
  9980. CODE:                 Hex code 
  9981. CATEGORY:            Fax, Status, Configuration, Utility, Voice
  9982. DIRECTION:            Host to JT Fax or JT Fax to Host
  9983. INPUT to JT:            Location in API block. Direction: JT Fax
  9984. OUTPUT from JT:        Location in API block. Direction: Host
  9985. DEFAULT:            Default for status commands
  9986. DESCRIPTION:        Detailed description of command
  9987.  
  9988. EXAMPLE:            A flow language example
  9989.  
  9990. RELATED FUNCTIONS:     Any other functions that might be of use
  9991.  
  9992. The commands are presented in alphabetical order.
  9993.  
  9994. Note: A PC_ACK is required after a BOARD_ACK status unless otherwise specified 
  9995. by the specific command feature.
  9996.  
  9997. **************************************************************************
  9998. BAD_RAM
  9999. Characteristic        Description
  10000. COMMAND:             BAD_RAM
  10001. CODE:                 0F1H
  10002. CATEGORY:            Fax - Compatibility 
  10003. DIRECTION:            JT Fax to Host
  10004. INPUT to JT:            None
  10005. OUTPUT from JT:        None
  10006. DEFAULT:            Not applicable
  10007.  
  10008. DESCRIPTION:        BAD_RAM is issued after the RAM test was 
  10009. performed. BAD_RAM is an indication of a faulty random access memory chip. 
  10010. It is not recommended that FAX operation proceed. Call Hayes Customer Service.
  10011.  
  10012. EXAMPLE:            BOARD_SYNC_COMMAND        - Host
  10013.                 BAD_RAM                - FAX
  10014.                 PC_ACK                - Host
  10015.                 IDLE                    - FAX
  10016.  
  10017. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  10018.                 HARDWARE_RESET_COMMAND
  10019.  
  10020.  
  10021. *****************************************************************************
  10022. BAD_ROM
  10023. Characteristic        Description
  10024. COMMAND:             BAD_ROM
  10025. CODE:                 0F2H
  10026. CATEGORY:            Fax - Compatibility 
  10027. DIRECTION:            JT Fax to Host
  10028. INPUT to JT:            None
  10029. OUTPUT from JT:        None
  10030. DEFAULT:            Not applicable
  10031.  
  10032. DESCRIPTION:    BAD_ROM is issued after the ROM test was performed. 
  10033. BAD_ROM is an indication of faulty read only memory chip. It is not 
  10034. recommended that FAX operation proceed. Call Hayes Customer Service.
  10035.  
  10036. EXAMPLE:            BOARD_SYNC_COMMAND        - Host
  10037.                 BAD_ROM                - FAX
  10038.                 PC_ACK                 - Host
  10039.                 IDLE                    - FAX
  10040.  
  10041. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  10042.                 HARDWARE_RESET_COMMAND
  10043.  
  10044.  
  10045. **************************************************************************
  10046. Board_ACK_Status
  10047. Characteristic        Description
  10048. COMMAND:             Board_ACK_Status
  10049. CODE:                 02H
  10050. CATEGORY:            Status 
  10051. DIRECTION:            JT Fax to Host
  10052. INPUT to JT:            None
  10053. OUTPUT from JT:        None
  10054. DEFAULT:            Not applicable
  10055.  
  10056. DESCRIPTION:        This API is part of the handshake protocol with the 
  10057. Host. The JT Fax board returns a BOARD_ACK_STATUS acknowledging the 
  10058. receipt or completion of a command. Some commands have additional 
  10059. handshake sequences and are detailed under the specific command.
  10060.  
  10061. EXAMPLE:            REC_PCX_ON_COMMAND         - Host
  10062.                 BOARD_ACK_STATUS         - JT Fax
  10063.                 (continue if necessary)
  10064.                     .
  10065.                     .
  10066.                     .
  10067.  
  10068. RELATED FUNCTIONS:     PC_ACK
  10069.  
  10070.  
  10071. **************************************************************************
  10072. Board_Sync_Command
  10073. Characteristic        Description
  10074. COMMAND:             Board_Sync_Command
  10075. CODE:                 0FFH
  10076. CATEGORY:            FAX - Compatibility 
  10077. DIRECTION:            Host to JT Fax
  10078. INPUT to JT:            None
  10079. OUTPUT from JT:        GOOD_INIT
  10080.                 IDLE
  10081. DEFAULT:            Not applicable
  10082.  
  10083. DESCRIPTION:    The BOARD_SYNC_COMMAND initiates command state for 
  10084. the Fax after a power up or HARDWARE_RESET_COMMAND. No commands are 
  10085. accepted by the Fax until this command is issued. After the command is issued, 
  10086. BOARD_STATUS is updated in the API block. A GOOD_INIT is issued when the Fax 
  10087. is ready for commands. If a GOOD_INIT is not received , then the Host may need 
  10088. to issue another HARDWARE_RESET_COMMAND.
  10089.  
  10090. EXAMPLE:            BOARD_SYNC_COMMAND         - Host
  10091.                 GOOD_INIT                 - FAX
  10092.                 PC_ACK                 - Host
  10093.                 IDLE                     - FAX
  10094.  
  10095. RELATED FUNCTIONS:     GOOD_INIT,
  10096.                 HARDWARE_RESET_COMMAND
  10097.  
  10098.  
  10099. **************************************************************************
  10100. Busy_Command
  10101. Characteristic        Description
  10102. COMMAND:             Busy_Command
  10103. CODE:                 02FH
  10104. CATEGORY:            Configuration 
  10105. DIRECTION:            Host to JT Fax
  10106. INPUT to JT:            None
  10107. OUTPUT from JT:        BOARD_ACK_STATUS
  10108. DEFAULT:            Detect Busy
  10109.  
  10110. DESCRIPTION:        The BUSY_COMMAND instructs the JT Fax to 
  10111. recognize a busy signal.
  10112.  
  10113. EXAMPLE:            IDLE                    - FAX
  10114.                 BUSY_COMMAND             - Host
  10115.                 BOARD_ACK_STATUS        - FAX
  10116.                 PC_ACK                - Host
  10117.                 IDLE_STATUS            - Fax
  10118.  
  10119. RELATED FUNCTIONS:     XMIT_COMMAND, 
  10120.                 PULSE_DIAL_COMMAND,
  10121.                 DTMF_DIAL_COMMAND
  10122.  
  10123.  
  10124. **************************************************************************
  10125. CED_Off_Command
  10126. Characteristic        Description
  10127. COMMAND:             CED_Off_Command
  10128. CODE:                 037H
  10129. CATEGORY:            Utility
  10130. DIRECTION:            Host to JT Fax
  10131. INPUT to JT:            None
  10132. OUTPUT from JT:        BOARD_ACK_STATUS
  10133. DEFAULT:            Not applicable
  10134. DESCRIPTION:        The CED_OFF_COMMAND terminates the output of an 
  10135. ITU-T T.4 specified 2100 Hz tone. 
  10136.  
  10137. EXAMPLE:            CED_OFF_COMMAND        - Host
  10138.                 BOARD_ACK_STATUS        - FAX
  10139.                 PC_ACK                - Host
  10140.                 IDLE                    - FAX
  10141.  
  10142. RELATED FUNCTIONS:     CED_ON_COMMAND
  10143.  
  10144.  
  10145. *****************************************************************************
  10146. CED_On_Command
  10147. Characteristic        Description
  10148. COMMAND:             CED_On_Command
  10149. CODE:                 036H
  10150. CATEGORY:            Utility
  10151. DIRECTION:            Host to JT Fax
  10152. INPUT to JT:            None
  10153. OUTPUT from JT:        BOARD_ACK_STATUS
  10154. DEFAULT:            Not applicable
  10155. DESCRIPTION:        The CED_ON_COMMAND outputs an ITU-T T.4 specified 
  10156. 2100 Hz tone.
  10157.  
  10158. EXAMPLE:            CED_ON_COMMAND            - Host
  10159.                 BOARD_ACK_STATUS        - FAX
  10160.                 PC_ACK                - Host
  10161.                 IDLE                    - FAX
  10162.  
  10163. RELATED FUNCTIONS:     CED_OFF_COMMAND
  10164.  
  10165.  
  10166.  
  10167. **************************************************************************
  10168. CNG_Detect_Off_Command
  10169. Characteristic        Description
  10170. COMMAND:             CNG_Detect_Off_Command
  10171. CODE:                 061H
  10172. CATEGORY:            Voice - Configuration
  10173. DIRECTION:            Host to JT Fax
  10174. INPUT to JT:            None
  10175. OUTPUT from JT:        BOARD_ACK_STATUS
  10176. DEFAULT:            Off
  10177.  
  10178. DESCRIPTION:        The CNG_DETECT_OFF_COMMAND must be issued from 
  10179. command state. The command disables the voice and DTMF modes when 
  10180. answering a call. After answering a call, the Fax will not determine if the 
  10181. caller is a voice call or Fax call by detecting a CNG tone. The answer back tone 
  10182. is transmitted. 
  10183.  
  10184. EXAMPLE:            IDLE                    - FAX
  10185.                 CNG_DETECT_OFF_COMMAND     - Host
  10186.                 BOARD_ACK_STATUS        - FAX
  10187.                 PC_ACK                - Host
  10188.                 IDLE                    - FAX
  10189.  
  10190. RELATED FUNCTIONS:     "Voice and DTMF", 
  10191.                 CNG_DETECT_ON_COMMAND, 
  10192.                 ERRFLAG, NO_CNG_DETECT_ERROR
  10193.  
  10194.  
  10195. **************************************************************************
  10196. CNG_Detect_On_Command
  10197. Characteristic        Description
  10198. COMMAND:             CNG_Detect_On_Command
  10199. CODE:                 060H
  10200. CATEGORY:            Voice - Configuration
  10201. DIRECTION:            Host to JT Fax
  10202. INPUT to JT:            None
  10203. OUTPUT from JT:        BOARD_ACK_STATUS
  10204. DEFAULT:            Off
  10205.  
  10206. DESCRIPTION:        The CNG_DETECT_ON_COMMAND must be issued from 
  10207. command state. The command enables the voice and DTMF modes when 
  10208. answering a call. After answering a call, the Fax will not determine if the 
  10209. caller is a voice call or Fax call by detecting a CNG tone. The answer back tone 
  10210. is transmitted. 
  10211.  
  10212. EXAMPLE:            IDLE                    - FAX
  10213.                 CNG_DETECT_ON_COMMAND     - Host
  10214.                 BOARD_ACK_STATUS        - FAX
  10215.                 PC_ACK                - Host
  10216.                 IDLE                    - FAX
  10217.  
  10218. RELATED FUNCTIONS:     "Voice and DTMF", 
  10219.                 CNG_DETECT_ON_COMMAND, ERRFLAG, 
  10220.                 NO_CNG_DETECT_ERROR
  10221.  
  10222.  
  10223. **************************************************************************
  10224. CNG_Off_Command
  10225. Characteristic        Description
  10226. COMMAND:             CNG_Off_Command
  10227. CODE:                 035H
  10228. CATEGORY:            Utility
  10229. DIRECTION:            Host to JT Fax
  10230. INPUT to JT:            None
  10231. OUTPUT from JT:        BOARD_ACK_STATUS
  10232. DEFAULT:            Not applicable
  10233. DESCRIPTION:        The CNG_OFF_COMMAND terminates the output of an 
  10234. ITU-T T.4 specified 1100 Hz tone.
  10235.  
  10236. EXAMPLE:            CNG_ON_COMMAND            - Host
  10237.                 BOARD_ACK_STATUS        - FAX
  10238.                 PC_ACK                - Host
  10239.                 IDLE                    - FAX
  10240.  
  10241. RELATED FUNCTIONS:     CNG_OFF_COMMAND
  10242.  
  10243.  
  10244. **************************************************************************
  10245. CNG_On_Command
  10246. Characteristic        Description
  10247. COMMAND:             CNG_On_Command
  10248. CODE:                 034H
  10249. CATEGORY:            Utility
  10250. DIRECTION:            Host to JT Fax
  10251. INPUT to JT:            None
  10252. OUTPUT from JT:        BOARD_ACK_STATUS
  10253. DEFAULT:            Not applicable
  10254.  
  10255. DESCRIPTION:        The CNG_ON_COMMAND outputs an ITU-T T.4 specified 
  10256. 1100 Hz tone.
  10257.  
  10258. EXAMPLE:            CNG_ON_COMMAND            - Host
  10259.                 BOARD_ACK_STATUS        - FAX
  10260.                 PC_ACK                - Host
  10261.                 IDLE                    - FAX
  10262.  
  10263. RELATED FUNCTIONS:     CNG_OFF_COMMAND
  10264.  
  10265.  
  10266. **************************************************************************
  10267. DTMF_Detect_Off_Command
  10268. Characteristic        Description
  10269. COMMAND:             DTMF_Detect_Off_Command
  10270. CODE:                 074H
  10271. CATEGORY:            Voice - Configuration
  10272. DIRECTION:            Host to JT Fax
  10273. INPUT to JT:            None
  10274. OUTPUT from JT:        BOARD_ACK_COMMAND
  10275. DEFAULT:            Not applicable
  10276.  
  10277. DESCRIPTION:        The DTMF_DETECT_OFF_COMMAND disables the Fax 
  10278. capability to detect DTMF tones while in the Voice/DTMF mode. 
  10279.  
  10280. EXAMPLE:            IDLE                    - FAX
  10281.                 DTMF_DETECT_OFF_COMMAND    - Host
  10282.                 BOARD_ACK_COMMAND        - FAX
  10283.                 PC_ACK                - Host
  10284.                 IDLE                    - FAX
  10285.  
  10286. RELATED FUNCTIONS:     "Voice and DTMF", 
  10287.                 CNG_DETECT_ON_COMMAND
  10288.  
  10289.  
  10290. **************************************************************************
  10291. DTMF_Detect_On_Command
  10292. Characteristic        Description
  10293. COMMAND:             DTMF_Detect_On_Command
  10294. CODE:                 073H
  10295. CATEGORY:            Voice - Configuration
  10296. DIRECTION:            Host to JT Fax
  10297. INPUT to JT:            None
  10298. OUTPUT from JT:        BOARD_ACK_COMMAND
  10299. DEFAULT:            Not applicable
  10300.  
  10301. DESCRIPTION:        The DTMF_DETECT_ON_COMMAND enables the Fax 
  10302. capability to detect DTMF tones while in the Voice/DTMF mode. 
  10303.  
  10304. EXAMPLE:            IDLE                    - FAX
  10305.                 DTMF_DETECT_ON_COMMAND    - Host
  10306.                 BOARD_ACK_COMMAND        - FAX
  10307.                 PC_ACK                - Host
  10308.                 IDLE                    - FAX
  10309.  
  10310. RELATED FUNCTIONS:     "Voice and DTMF", 
  10311.                 CNG_DETECT_ON_COMMAND
  10312.  
  10313.  
  10314. **************************************************************************
  10315. DTMF_Detect_Status
  10316. Characteristic        Description
  10317. COMMAND:             DTMF_Detect_Status
  10318. CODE:                 070H
  10319. CATEGORY:            Voice , Status
  10320. DIRECTION:            JT Fax to Host
  10321. INPUT to JT:            PC_ACK
  10322. OUTPUT from JT:        DTMF digit in DATA_AREA
  10323. DEFAULT:            Not applicable
  10324.  
  10325. DESCRIPTION:        The DTMF_DETECT_STATUS informs the Host that a 
  10326. DTMF tone was detected while in VOICE/DTMF mode. The DTMF_DETECT_STATUS 
  10327. command is only issued after a DTMF_DETECT_ON_COMMAND.
  10328.  
  10329. EXAMPLE:            DTMF_DETECT_ON_COMMAND    - Host
  10330.                     .
  10331.                     .
  10332.                     .
  10333.                 SILENCE_DETECTED_STATUS    - FAX
  10334.                 PC_ACK                - Host
  10335.                 ...load DTMF byte in DATA_AREA    - FAX
  10336.                 DTMF_DETECT_STATUS        - FAX
  10337.                 ...retrieve DTMF byte        - Host
  10338.                 PC_ACK                - Host
  10339.                 IDLE                     - FAX
  10340.  
  10341. RELATED FUNCTIONS:     "Voice and DTMF", 
  10342.                 DTMF_DETECT_ON_COMMAND, 
  10343.                 DTMF_DETECT_OFF_COMMAND
  10344.  
  10345.  
  10346. **************************************************************************
  10347. DTMF_Dial_Command
  10348. Characteristic    Description
  10349. COMMAND:         DTMF_Dial_Command
  10350. CODE:             02CH
  10351. CATEGORY:        Utility 
  10352. DIRECTION:        Host to JT Fax
  10353. INPUT to JT:        DTMF number at OFFSET 00H in buffer_area
  10354.             Max. number length 60 characters
  10355. OUTPUT from JT:    BOARD_ACK_STATUS
  10356. DEFAULT:        Not applicable
  10357.  
  10358. DESCRIPTION:    DTMF_DIAL_COMMAND dials the digits stored at 
  10359. BUFFER_AREA. The dial command does not connect the phone line. The line 
  10360. must be connected with an OFF_HOOK_COMMAND.
  10361.  
  10362. The dial string has several digits and modifiers. The DTMF digits supported are 
  10363. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *, #, A, B, C, D. The dial modifiers are:
  10364.  
  10365. JT Fax 9600B COMPATIBILITY
  10366. First byte: 'P' - Pulse Dial    'T' - Tone Dial 
  10367. Second byte: 'W' - Wait for Dial Tone     ' ' - Do not Wait 
  10368.  
  10369. If the first two bytes are 'MA' (Manual Dial) a number will not be dialed.
  10370.  
  10371. JT Fax 14400B
  10372. --------------------------
  10373. P    - pulse dial
  10374. T    - tone dial
  10375. W    - wait for dialtone
  10376. ,    - 2 second pause
  10377. !    - flash hook
  10378. I    - no busy detect
  10379.  
  10380. Note: This command may be used in Voice offline mode.
  10381.  
  10382. EXAMPLE:            IDLE                    - FAX
  10383.                 (load string value in 
  10384.                   buffer_area)            - Host
  10385.                 DIAL_DTMF_COMMAND         - Host
  10386.                 BOARD_ACK_STATUS        - FAX
  10387.                 PC_ACK                - Host
  10388.                 IDLE_STATUS            - Fax
  10389.  
  10390. RELATED FUNCTIONS:     XMIT_COMMAND, 
  10391.                 DTMF_ON_TIME_COMMAND, 
  10392.                 DTMF_OFF_TIME_COMMAND
  10393.  
  10394.  
  10395. **************************************************************************
  10396. DTMF_Off_Command
  10397. Characteristic        Description
  10398. COMMAND:             DTMF_Off_Command
  10399. CODE:                 029H
  10400. CATEGORY:            Utility
  10401. DIRECTION:            Host to JT Fax
  10402. INPUT to JT:            None
  10403. OUTPUT from JT:        BOARD_ACK_STATUS
  10404. DEFAULT:            Not applicable
  10405.  
  10406. DESCRIPTION:        DTMF_OFF_COMMAND commands the JT Fax to 
  10407. terminate a DTMF tone. The command does not disconnect the line.
  10408.  
  10409. EXAMPLE:            IDLE                    - FAX
  10410.                 DTMF_OFF_COMMAND         - Host
  10411.                 BOARD_ACK_STATUS        - FAX
  10412.                 PC_ACK                - Host
  10413.                 IDLE_STATUS            - Fax
  10414.  
  10415. RELATED FUNCTIONS:     DTMF_ON_COMMAND, 
  10416.                 FAX_MODE_COMMAND, 
  10417.                 ON_HOOK_COMMAND
  10418.  
  10419.  
  10420. **************************************************************************
  10421. DTMF_Off_Time_Command
  10422. Characteristic        Description
  10423. COMMAND:             DTMF_Off_Time_Command
  10424. CODE:                 02BH
  10425. CATEGORY:            Configuration
  10426. DIRECTION:            Host to JT Fax
  10427. INPUT to JT:            DTMF time at OFFSET 00H in buffer area
  10428. OUTPUT from JT:        BOARD_ACK_STATUS
  10429. DEFAULT:            70 ms
  10430.  
  10431. DESCRIPTION:        DTMF_OFF_TIME_COMMAND configures the interdigit 
  10432. off time for automatic dialing of DTMF digits. The value specified is in 
  10433. milliseconds with a length of WORD. Max. value is 65 seconds. Standard 
  10434. minimum value is 65 ms. 
  10435.  
  10436. EXAMPLE:            IDLE                    - FAX
  10437.                 (load word value in 
  10438.                   buffer_area)            - Host
  10439.                 DTMF_OFF_TIME_COMMAND -    - Host
  10440.                 BOARD_ACK_STATUS        - FAX
  10441.                 PC_ACK                - Host
  10442.                 IDLE_STATUS            - Fax
  10443.  
  10444. RELATED FUNCTIONS:     XMIT_COMMAND, 
  10445.                 DTMF_DIAL_COMMAND, 
  10446.                 DTMF_ON_TIME_COMMAND
  10447.  
  10448.  
  10449. **************************************************************************
  10450. DTMF_On_Command
  10451. Characteristic        Description
  10452. COMMAND:             DTMF_On_Command
  10453. CODE:                 028H
  10454. CATEGORY:            Utility
  10455. DIRECTION:            Host to JT Fax
  10456. INPUT to JT:            DTMF tone digit at OFFSET 00H in buffer area
  10457. OUTPUT from JT:        BOARD_ACK_STATUS
  10458. DEFAULT:            Not applicable
  10459.  
  10460. DESCRIPTION:        DTMF_ON_COMMAND commands the JT Fax to send a 
  10461. DTMF digit specified by the value in BUFFER_AREA. The duration of the tone is 
  10462. controlled by the Host. The command does not connect the phone line. The tone 
  10463. is terminated by the DTMF_OFF_COMAMND.
  10464.  
  10465. Note: JT Fax must be in Fax mode for Utility commands.
  10466.  
  10467. EXAMPLE:            IDLE                    - FAX
  10468.                 (load digit in buffer area)    - Host
  10469.                 DTMF_ON_COMMAND         - Host
  10470.                 BOARD_ACK_STATUS        - FAX
  10471.                 PC_ACK                - Host
  10472.                 IDLE_STATUS            - Fax
  10473.  
  10474. RELATED FUNCTIONS:     DTMF_OFF_COMMAND,
  10475.                 FAX_MODE_COMMAND, 
  10476.                 OFF_HOOK_COMMAND
  10477.  
  10478.  
  10479. **************************************************************************
  10480. DTMF_On_Time_Command
  10481. Characteristic        Description
  10482. COMMAND:             DTMF_On_Time_Command
  10483. CODE:                 029H
  10484. CATEGORY:            Configuration
  10485. DIRECTION:            Host to JT Fax
  10486. INPUT to JT:            DTMF time at OFFSET 00H in buffer area
  10487. OUTPUT from JT:        BOARD_ACK_STATUS
  10488. DEFAULT:            70 ms
  10489.  
  10490. DESCRIPTION:        DTMF_ON_TIME_COMMAND sets the on-time for 
  10491. automatic dialing of DTMF digits. The value specified is in milliseconds with a 
  10492. length of WORD. Max. value is 65 seconds. The standard minimum value is 65 
  10493. ms. 
  10494.  
  10495. EXAMPLE:            IDLE                    - FAX
  10496.                 (load word value in buffer_area)- Host
  10497.                 DTMF_ON_TIME_COMMAND     - Host
  10498.                 BOARD_ACK_STATUS        - FAX
  10499.                 PC_ACK                - Host
  10500.                 IDLE_STATUS            - Fax
  10501.  
  10502. RELATED FUNCTIONS:     XMIT_COMMAND, 
  10503.                 DTMF_DIAL_COMMAND, 
  10504.                 DTMF_OFF_TIME_COMMAND
  10505.  
  10506.  
  10507. **************************************************************************
  10508. Enhanced_Mode_Off_Command
  10509. Characteristic        Description
  10510. COMMAND:             Enhanced_Mode_Off_Command
  10511. CODE:                 053H
  10512. CATEGORY:            Configuration - Compatibility
  10513. DIRECTION:            Host to JT Fax
  10514. INPUT to JT:            None
  10515. OUTPUT from JT:        BOARD_ACK
  10516. DEFAULT:            Not applicable
  10517.  
  10518. DESCRIPTION:        The ENHANCED_MODE_OFF_COMMAND allows the JT 
  10519. Fax 14400B to operate in 9600B compatible mode. All status messages, error 
  10520. codes and speeds provided by the 14400B are disabled.
  10521.  
  10522. EXAMPLE:            IDLE                    - FAX
  10523.                 ENHANCED_MODE_OFF_COMMAND - Host
  10524.                 BOARD_ACK_STATUS        - FAX
  10525.                 PC_ACK                - Host
  10526.                 IDLE                    - FAX
  10527.  
  10528. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND, 
  10529.                 FAX_144_MODE_OFF_COMMAND, 
  10530.                 ENHANCED_MODE_ON_COMMAND
  10531.  
  10532.  
  10533. **************************************************************************
  10534. Enhanced_Mode_On_Command
  10535. Characteristic        Description
  10536. COMMAND:             Enhanced_Mode_On_Command
  10537. CODE:                 052H
  10538. CATEGORY:            Configuration - Compatibility
  10539. DIRECTION:            Host to JT Fax
  10540. INPUT to JT:            None
  10541. OUTPUT from JT:        BOARD_ACK
  10542. DEFAULT:            Not applicable
  10543.  
  10544. DESCRIPTION:        The ENHANCED_MODE_ON_COMMAND allows the JT 
  10545. Fax 14400B to operate in enhanced mode. All status messages, error codes and 
  10546. speeds provided by the 14400B are enabled.
  10547.  
  10548. EXAMPLE:            IDLE                    - FAX
  10549.                 ENHANCED_MODE_ON_COMMAND    - Host
  10550.                 BOARD_ACK_STATUS        - FAX
  10551.                 PC_ACK                - Host
  10552.                 IDLE                    - FAX
  10553.  
  10554. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND, 
  10555.                 FAX_144_MODE_ON_COMMAND, 
  10556.                 ENHANCED_MODE_OFF_COMMAND
  10557.  
  10558.  
  10559. **************************************************************************
  10560. EOD_Flag
  10561. Characteristic        Description
  10562. COMMAND:             EOD_Flag
  10563. CODE:                 076H
  10564. CATEGORY:            Voice 
  10565. DIRECTION:            Host to JT Fax
  10566. INPUT to JT:            None
  10567. OUTPUT from JT:        None
  10568. DEFAULT:            Not applicable
  10569.  
  10570. DESCRIPTION:        The EOD_FLAG terminates the DTMF search. Any 
  10571. other command can be issued after this command sequence is complete.
  10572.  
  10573. EXAMPLE:            IDLE                    - FAX
  10574.                 GET_DTMF_COMMAND        - Host
  10575.                 BOARD_ACK_COMMAND        - FAX
  10576.                 ...byte in data_area            - FAX
  10577.                 DTMF_DETECT_STATUS        - FAX
  10578.                 ...retrieve byte from data_area    - Host
  10579.                 PC_ACK                - Host
  10580.                 ...continue looking  for DTMF    - FAX
  10581.                     .
  10582.                     .
  10583.                     .
  10584.                 EOD_FLAG                - HOST
  10585.                 BOARD_ACK_COMMAND        - FAX
  10586.                 PC_ACK                - Host
  10587.                 IDLE                    - FAX
  10588.  
  10589. RELATED FUNCTIONS:     "Voice and DTMF"
  10590.  
  10591.  
  10592. **************************************************************************
  10593. EOPFLAG
  10594. Characteristic        Description
  10595. COMMAND:             EOPFLAG
  10596. CODE:                 08H
  10597. CATEGORY:            Fax 
  10598. DIRECTION:            JT Fax to Host
  10599. INPUT to JT:            None
  10600. OUTPUT from JT:        None
  10601. DEFAULT:            Not applicable
  10602.  
  10603. DESCRIPTION:    EOPFLAG signifies that an end of page is necessary. The 
  10604. Host may elect to use the LINE_COUNT field in the API block for setting an end 
  10605. of page. The Fax page is transmitted until the line count is reached ( MIN_PAGE 
  10606. = non zero) and an EOP is issued to the called device. If the FAX page was short 
  10607. and a standard page length is used, then the LINECOUNT field sets the page 
  10608. length (MIN_PAGE = 0). All pages are the length of LINECOUNT.
  10609.  
  10610. When using the EOPFLAG a PC_ACK command is not necessary.
  10611.  
  10612. EXAMPLE:            LOAD_DATA_COMMAND        - FAX
  10613.                 ...load data                 - Host
  10614.                 PC_ACK                 - Host
  10615.                 LOAD_DATA_COMMAND        - FAX
  10616.                 ...load data                 - Host
  10617.                 PC_ACK                 - Host
  10618.                      .
  10619.                      .
  10620.                      .
  10621.                 LOAD_DATA_COMMAND        - FAX
  10622.                 ...load data                 - Host
  10623.                 EOPFLAG                - Host
  10624.                 LOAD_DATA_COMMAND        - FAX
  10625.                      .
  10626.                      .
  10627.                      .
  10628.  
  10629. RELATED FUNCTIONS:     LOAD_DATA_COMMAND, 
  10630.                 EOTFLAG
  10631.  
  10632.  
  10633. **************************************************************************
  10634. EOTFLAG
  10635. Characteristic        Description
  10636. COMMAND:             EOTFLAG
  10637. CODE:                 0FH
  10638. CATEGORY:            Fax 
  10639. DIRECTION:            JT Fax to Host
  10640. Host to JT Fax
  10641. INPUT to JT:            None
  10642. OUTPUT from JT:        None
  10643. DEFAULT:            Not applicable
  10644.  
  10645. DESCRIPTION:        EOTFLAG signifies an end of data transfer. The Fax 
  10646. command can be issued from either the Host or JT Fax. The Host issues the 
  10647. command in the XMIT_MODE to end data transmission, or in downloadable fonts 
  10648. to end the font download. The JT Fax issues the command to end a Fax reception.
  10649.  
  10650. EXAMPLE:            IDLE                    - FAX
  10651.                 (load phone number 
  10652.                 in buffer area)             - Host
  10653.                 XMIT_COMMAND             - Host
  10654.                 BOARD_ACK_STATUS        - FAX
  10655.                 ...load header            - Host
  10656.                 PC_ACK                 - Host
  10657.                 LOAD_DATA_COMMAND        - FAX
  10658.                 ...load data and set format        - Host
  10659.                 ...set number bytes            - Host
  10660.                 PC_ACK                 - Host
  10661.                 LOAD_DATA_COMMAND        - FAX
  10662.                 ...load data                 - Host
  10663.                 EOTFLAG                 - Host
  10664.                      .
  10665.                      .
  10666.                      .
  10667.                 IDLE                     - FAX
  10668.  
  10669. RELATED FUNCTIONS:     XMIT_COMMAND, 
  10670.                 LOAD_DATA_COMMAND, 
  10671.                 RECVINIT, 
  10672.                 LOADFONT_COMMAND, 
  10673.                 "Error Codes╙, 
  10674.                 EOV_FLAG
  10675.  
  10676.  
  10677. **************************************************************************
  10678. EOV_FLAG
  10679. Characteristic        Description
  10680. COMMAND:             EOV_FLAG
  10681. CODE:                 066H
  10682. CATEGORY:            Voice
  10683. DIRECTION:            Host to JT Fax
  10684. INPUT to JT:            None
  10685. OUTPUT from JT:        Recorded data in DATA_AREA
  10686.                 LOAD_DATA_COMMAND
  10687. DEFAULT:            Not applicable
  10688.  
  10689. DESCRIPTION:    The EOV_FLAG notifies the Host/Fax that the last buffer of 
  10690. data is in the DATA_AREA. This command is issued after a 
  10691. PLAY_START_COMMAND sequence. The command is used for voice data only. 
  10692.  
  10693. EXAMPLE:            REC_START_COMMAND        - Host
  10694.                 BOARD_ACK_COMMAND        - FAX
  10695.                 ...load data in DATA_AREA        - FAX
  10696.                 ...set number bytes            - FAX
  10697.                 LOAD_DATA_COMMAND        - FAX
  10698.                 ...load data from DATA_AREA    - Host
  10699.                 PC_ACK                - Host
  10700.                 ...load data in DATA_AREA        - FAX
  10701.                 ...set number bytes            - FAX
  10702.                 LOAD_DATA_COMMAND        - FAX
  10703.                 ...load data from DATA_AREA    - Host
  10704.                 REC_STOP_COMMAND        - Host
  10705.                 ...load data in DATA_AREA        - FAX
  10706.                 ...set number bytes            - FAX
  10707.                 EOV_FLAG                 - FAX
  10708.                 ...load data from  DATA_AREA    - Host
  10709.                 PC_ACK                - Host
  10710.                 IDLE                     - FAX
  10711.  
  10712. RELATED FUNCTIONS:     "Voice and DTMF", 
  10713.                 REC_START_COMMAND, 
  10714.                 RECVINIT_COMMAND
  10715.  
  10716.  
  10717. **************************************************************************
  10718. Error
  10719. Characteristic        Description
  10720. COMMAND:             Error
  10721. CODE:                 06H
  10722. CATEGORY:            Status
  10723. DIRECTION:            JT Fax to Host
  10724. INPUT to JT:            IDLE
  10725. OUTPUT from JT:        RET_CODE contains error code
  10726. DEFAULT:            Not applicable
  10727.  
  10728. DESCRIPTION:        ERROR signifies that an error has occurred. The 
  10729. type of error can be retrieved from the RET_CODE field. ERROR does require the 
  10730. host to reset the COMMAND_DATA field to IDLE when the error code is read.
  10731.  
  10732. EXAMPLE:        IDLE                        - FAX
  10733.             (load phone number in buffer area)    - Host
  10734.             XMIT_COMMAND                 - Host
  10735.             BOARD_ACK_STATUS            - FAX
  10736.             ...load header                - Host
  10737.             PC_ACK                     - Host
  10738.             LOAD_DATA_COMMAND            - FAX
  10739.             ...load data and set format            - Host
  10740.             ...set number bytes                - Host
  10741.             PC_ACK                     - Host
  10742.             LOAD_DATA_COMMAND            - FAX
  10743.             ...load data                     - Host
  10744.             PC_ACK                    - Host
  10745.                 .
  10746.                 .
  10747.                 .
  10748.             ERROR                     - JT Fax
  10749.             BUSY(ret_code field)            - JT Fax
  10750.             (check ret_code)                - Host
  10751.             IDLE                         - Host
  10752.  
  10753. RELATED FUNCTIONS:     XMIT_COMMAND, 
  10754.                 LOAD_DATA_COMMAND, 
  10755.                 RECVINIT,
  10756.                 Error Codes
  10757.  
  10758.  
  10759. **************************************************************************
  10760. Extend_Status_Off_Command
  10761. Characteristic    Description
  10762. COMMAND:         Extend_Status_Off_Command
  10763. CODE:             04FH
  10764. CATEGORY:        Configuration - Compatibility
  10765. DIRECTION:        Host to JT Fax
  10766. INPUT to JT:        None
  10767. OUTPUT from JT:    BOARD_ACK
  10768. DEFAULT:        Not applicable
  10769.  
  10770. DESCRIPTION:    The EXTEND_STATUS_OFF_COMMAND disables the extended 
  10771. status available to the Host with the JT Fax 14400B. The status codes do not 
  10772. appear in the STATUS field of the API block and the status command is not 
  10773. issued.
  10774.  
  10775. EXAMPLE:        IDLE                        - FAX
  10776.             EXTEND_STATUS_OFF_COMMAND        - Host
  10777.             BOARD_ACK_STATUS            - FAX
  10778.             PC_ACK                    - Host
  10779.             IDLE                        - FAX
  10780.  
  10781. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND,
  10782.                 STATUS_COMMAND
  10783.  
  10784.  
  10785. **************************************************************************
  10786. Extend_Status_On_Command
  10787. Characteristic    Description
  10788. COMMAND:         Extend_Status_On_Command
  10789. CODE:             04EH
  10790. CATEGORY:        Configuration - Compatibility
  10791. DIRECTION:        Host to JT Fax
  10792. INPUT to JT:        None
  10793. OUTPUT from JT:    BOARD_ACK
  10794. DEFAULT:        Not applicable
  10795.  
  10796. DESCRIPTION:    The EXTEND_STATUS_ON command enables the 
  10797. extended status available to the Host with the JT Fax 14400B. The status codes 
  10798. appear in the STATUS field of the API block after the status command is issued.
  10799.  
  10800. EXAMPLE:        IDLE                        - FAX
  10801.             EXTEND_STATUS_ON_COMMAND        - Host
  10802.             BOARD_ACK_STATUS            - FAX
  10803.             PC_ACK                    - Host
  10804.             IDLE                        - FAX
  10805.  
  10806. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND,
  10807.                 STATUS_COMMAND
  10808.  
  10809.  
  10810. **************************************************************************
  10811. FAX_144_Mode_Off_Command
  10812. Characteristic    Description
  10813. COMMAND:         FAX_144_Mode_Off_Command
  10814. CODE:             051H
  10815. CATEGORY:        Configuration - Compatibility
  10816. DIRECTION:        Host to JT Fax
  10817. INPUT to JT:        None
  10818. OUTPUT from JT:    BOARD_ACK
  10819. DEFAULT:        Not applicable
  10820.  
  10821. DESCRIPTION:    The FAX_144_MODE_OFF_COMMAND allows the JT Fax 14400B 
  10822. to be compatible with the JT Fax 9600B. This command is included due to the 
  10823. change in the speed indexes for 14,400 bps.
  10824.  
  10825. EXAMPLE:        IDLE                        - FAX
  10826.             FAX_144_MODE_OFF_COMMAND        - Host
  10827.             BOARD_ACK_STATUS            - FAX
  10828.             PC_ACK                    - Host
  10829.             IDLE                        - FAX
  10830.  
  10831. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND,
  10832.                 FAX_144_MODE_ON_COMMAND, 
  10833.                 ENHANCED_MODE_OFF_COMMAND
  10834.  
  10835.  
  10836. **************************************************************************
  10837. FAX_144_Mode_On_Command
  10838. Characteristic    Description
  10839. COMMAND:         FAX_144_Mode_On_Command
  10840. CODE:             050H
  10841. CATEGORY:        Configuration - Compatibility
  10842. DIRECTION:        Host to JT Fax
  10843. INPUT to JT:        None
  10844. OUTPUT from JT:    BOARD_ACK
  10845. DEFAULT:        Not applicable
  10846.  
  10847. DESCRIPTION:    The FAX_144_MODE_ON_COMMAND allows the JT Fax 14400B 
  10848. to enable reception of Faxes at the 14,400 bps rate. This command is included 
  10849. due to the change in the speed indexes for 14,400 bps. An index value of 5 in 
  10850. the BAUD_RATE field indicates 14,400 bps and a 4 indicates 12,000 bps. This 
  10851. command only affects the speed.
  10852.  
  10853. EXAMPLE:        IDLE                        - FAX
  10854.             FAX_144_MODE_ON_COMMAND        - Host
  10855.             BOARD_ACK_STATUS            - FAX
  10856.             PC_ACK                    - Host
  10857.             IDLE                        - FAX
  10858.  
  10859. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND,
  10860.                 FAX_144_MODE_OFF_COMMAND, 
  10861.                 ENHANCED_MODE_ON_COMMAND
  10862.  
  10863.  
  10864. **************************************************************************
  10865. FAX_Mode_Command
  10866. Characteristic    Description
  10867. COMMAND:         FAX_Mode_Command
  10868. CODE:             026H
  10869. CATEGORY:        Configuration
  10870. DIRECTION:        Host to JT Fax
  10871. INPUT to JT:        None
  10872. OUTPUT from JT:    BOARD_ACK_STATUS
  10873. DEFAULT:        MODEM MODE in Command State
  10874.             FAX MODE is automatic with Fax commands
  10875.  
  10876. DESCRIPTION:    The FAX_MODE_COMMAND is required for all Utility 
  10877. commands. The command also allows JT Fax to control the Telco line interface 
  10878. instead of requiring OEM daughter cards. PC Bus access is available in both Fax 
  10879. and Modem mode. If a daughter card is not attached, Modem mode will not be 
  10880. necessary for JT Fax.
  10881.  
  10882. EXAMPLE:            IDLE                    - FAX
  10883.                 FAX_MODE_COMMAND         - Host
  10884.                 BOARD_ACK_STATUS        - FAX
  10885.                 PC_ACK                - Host
  10886.                 IDLE                     - FAX
  10887.                 OFF_HOOK_COMMAND        - Host
  10888.  
  10889. RELATED FUNCTIONS:     MODEM_MODE_COMMAND, 
  10890.                 "Utility Commands"
  10891.  
  10892.  
  10893. **************************************************************************
  10894. Gain_Down_Command
  10895. Characteristic    Description
  10896. COMMAND:         Gain_Down_Command
  10897. CODE:             068H
  10898. CATEGORY:        Voice - Configuration
  10899. DIRECTION:        Host to JT Fax
  10900. INPUT to JT:        None
  10901. OUTPUT from JT:    BOARD_ACK_COMMAND
  10902. DEFAULT:        43.8 dB
  10903.  
  10904. DESCRIPTION:    The GAIN_DOWN_COMMAND decrements the maximum gain 
  10905. of the voice record by 1 dB. The maximum gain should only be changed during 
  10906. recording to achieve a better quality of voice recording. The value is retained 
  10907. between recordings.
  10908.  
  10909. EXAMPLE:        IDLE                        - FAX
  10910.             GAIN_DOWN_COMMAND            - Host
  10911.             BOARD_ACK_COMMAND            - FAX
  10912.             PC_ACK                    - Host
  10913.             IDLE                        - FAX
  10914.             REC_START_COMMAND            - Host
  10915.             BOARD_ACK_COMMAND            - FAX
  10916.             ...load data in DATA_AREA            - FAX
  10917.             ...set number bytes                - FAX
  10918.             LOAD_DATA_COMMAND            - FAX
  10919.                 .
  10920.                 .
  10921.                 .
  10922.             EOV_FLAG                     - FAX
  10923.             ...load data from DATA_AREA        - Host
  10924.             PC_ACK                    - Host
  10925.             IDLE                        - FAX
  10926.  
  10927. RELATED FUNCTIONS:     "Voice and DTMF", 
  10928.                 REC_START_COMMAND
  10929.  
  10930.  
  10931. **************************************************************************
  10932. Gain_Up_Command
  10933. Characteristic    Description
  10934. COMMAND:         Gain_Up_Command
  10935. CODE:             067H
  10936. CATEGORY:        Voice - Configuration
  10937. DIRECTION:        Host to JT Fax
  10938. INPUT to JT:        None
  10939. OUTPUT from JT:    BOARD_ACK_COMMAND
  10940. DEFAULT:        43.8 dB
  10941.  
  10942. DESCRIPTION:    The GAIN_UP_COMMAND increments the maximum gain of 
  10943. the voice record by 1 dB. The maximum gain should only be changed during 
  10944. recording to achieve a better quality of voice recording. The value is retained 
  10945. between recordings.
  10946.  
  10947. EXAMPLE:        IDLE                        - FAX
  10948.             GAIN_UP_COMMAND            - Host
  10949.             BOARD_ACK_COMMAND            - FAX
  10950.             PC_ACK                    - Host
  10951.             IDLE                        - FAX
  10952.             REC_START_COMMAND            - Host
  10953.             BOARD_ACK_COMMAND            - FAX
  10954.             ...load data in DATA_AREA            - FAX
  10955.             ...set number bytes                - FAX
  10956.             LOAD_DATA_COMMAND            - FAX
  10957.                 .
  10958.                 .
  10959.                 .
  10960.             EOV_FLAG                     - FAX
  10961.             ...load data from DATA_AREA        - Host
  10962.             PC_ACK                    - Host
  10963.             IDLE                         - FAX
  10964.  
  10965. RELATED FUNCTIONS:     "Voice and DTMF", 
  10966.                 REC_START_COMMAND
  10967.  
  10968.  
  10969. **************************************************************************
  10970. Get_DTMF_Command
  10971. Characteristic    Description
  10972. COMMAND:         Get_DTMF_Command
  10973. CODE:             075H
  10974. CATEGORY:        Voice 
  10975. DIRECTION:        Host to JT Fax
  10976. INPUT to JT:        None
  10977. OUTPUT from JT:    Byte value in DATA_AREA
  10978. DEFAULT:        Not applicable
  10979. DESCRIPTION:    The GET_DTMF_COMMAND can also be used in command 
  10980. state. The command initiates DTMF mode and continually searches for DTMF 
  10981. tones. The EOD_FLAG terminates the DTMF search. Any other command can be 
  10982. issued after this command. The "on/off hook" is controlled by the Host. 
  10983.  
  10984. EXAMPLE:        IDLE                        - FAX
  10985.             GET_DTMF_COMMAND            - Host
  10986.             BOARD_ACK_STATUS            - FAX
  10987.             ...byte in data_area                - FAX
  10988.             DTMF_DETECT_STATUS            - FAX
  10989.             ...retrieve byte from data_area        - Host
  10990.             PC_ACK                    - Host
  10991.             ...continue looking for DTMF        - FAX
  10992.                 .
  10993.                 .
  10994.                 .
  10995.             EOD_FLAG                    - HOST
  10996.             BOARD_ACK_COMMAND            - FAX
  10997.             PC_ACK                    - Host
  10998.             IDLE                        - FAX
  10999.  
  11000. RELATED FUNCTIONS:     "Voice and DTMF", 
  11001.                 EOD_FLAG
  11002.  
  11003.  
  11004. **************************************************************************
  11005. Good_Init
  11006. Characteristic    Description
  11007. COMMAND:         Good_Init
  11008. CODE:             0F0H
  11009. CATEGORY:        FAX - Compatibility 
  11010. DIRECTION:        JT Fax to Host
  11011. INPUT to JT:        None
  11012. OUTPUT from JT:    None
  11013. DEFAULT:        Not applicable
  11014.  
  11015. DESCRIPTION:    The GOOD_INIT command is issued after a 
  11016. BOARD_SYNC_COMMAND is received following power up. It indicates that the 
  11017. FAX is ready for commands and the ROM/RAM test was good.
  11018.  
  11019. EXAMPLE:        BOARD_SYNC_COMMAND            - Host
  11020.             GOOD_INIT                    - FAX
  11021.             PC_ACK                    - Host
  11022.             IDLE                        - FAX
  11023.  
  11024. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  11025.                 HARDWARE_RESET_COMMAND
  11026.  
  11027.  
  11028. **************************************************************************
  11029. Hardware_Reset_Command
  11030. Characteristic    Description
  11031. COMMAND:         Hardware_Reset_Command
  11032. CODE:             030H
  11033. CATEGORY:        Control
  11034. DIRECTION:        Host to JT Fax
  11035. INPUT to JT:        None
  11036. OUTPUT from JT:    None
  11037. DEFAULT:        Not applicable
  11038.  
  11039. DESCRIPTION:    The HARDWARE_RESET_COMMAND instructs JT Fax to 
  11040. initiate a "power on reset" function. The command is placed in the API block 
  11041. location, RESET_BOARD, at offset 51H. When RESET_BOARD is set to a 
  11042. HARDWARE_RESET_COMMAND, then the following happens:
  11043.  
  11044.     Ñ    RAM and ROM test is executed
  11045.     Ñ    data pump is reset, memory cleared 
  11046.     Ñ    all options set to default conditions. 
  11047.  
  11048. After six seconds, JT Fax starts waiting for a SYNC_COMMAND from the Host. A 
  11049. SYNC_COMMAND must be issued by the Host before any commands can be 
  11050. accepted. 
  11051.  
  11052. Note: This command should be used a last resort because it resets the JT Fax 
  11053. hardware and all user configurations to default.
  11054.  
  11055. EXAMPLE:        IDLE                        - FAX
  11056.             HARDWARE_RESET_COMMAND        - Host
  11057.             (wait for 6 seconds)
  11058.             SYNC_COMMAND                - Host
  11059.             IDLE_STATUS                - FAX
  11060.  
  11061. RELATED FUNCTIONS:     SYNC_COMMAND, 
  11062.                 SOFTWARE_RESET_COMMAND
  11063.  
  11064.  
  11065. **************************************************************************
  11066. Idle_Status
  11067. Characteristic    Description
  11068. COMMAND:         Idle_Status
  11069. CODE:             01H
  11070. CATEGORY:        Status
  11071. DIRECTION:        JT Fax to Host
  11072.             Host to JT Fax
  11073. INPUT to JT:        None
  11074. OUTPUT from JT:    None
  11075. DEFAULT:        Not applicable
  11076.  
  11077. DESCRIPTION:    IDLE_STATUS is a compatibility status code/command. The 
  11078. command is issued to reset the Command field. The command is used by the Host 
  11079. in response to a BOARD_ACK_STATUS, or by JT Fax in response to a PC_ACK 
  11080. command or when in command state waiting for command. This command 
  11081. should only be used while in command state.
  11082.  
  11083. EXAMPLE:        IDLE                        - FAX
  11084.             (load time in buffer area            - Host
  11085.             SET_CARRIER_COMMAND             - Host
  11086.             BOARD_ACK_STATUS            - FAX
  11087.             PC_ACK                    - Host
  11088.             IDLE                        - Host
  11089.  
  11090. RELATED FUNCTIONS:     BOARD_ACK_STATUS, 
  11091.                 PC_ACK
  11092.  
  11093.  
  11094. **************************************************************************
  11095. Load_Data_Command
  11096. Characteristic    Description
  11097. COMMAND:         Load_Data_Command
  11098. CODE:             03H
  11099. CATEGORY:        FAX 
  11100. DIRECTION:        JT Fax to Host
  11101. INPUT to JT:        Data in DATA_AREA
  11102.             PC_ACK
  11103.             EOTFLAG 
  11104.             EOPFLAG
  11105. OUTPUT from JT:    none 
  11106.             LOAD_DATA_COMMAND
  11107.             EOTFLAG (receive mode only)
  11108. DEFAULT:        Not applicable
  11109.  
  11110. DESCRIPTION:    The LOAD_DATA_COMMAND is used when large amounts of 
  11111. data are needed. The direction of the load depends on the mode selected. 
  11112.  
  11113. If in TRANSMIT_MODE, the load data command is issued by JT Fax to indicate 
  11114. that data is ready to be received from the Host in the DATA_AREA. Once all the 
  11115. data has been placed in the DATA_AREA, the Host issues a PC_ACK. 
  11116.  
  11117. In the RECEIVE_MODE, the command is issued by JT Fax to alert the Host that 
  11118. data is available in the data area to be retrieved. After the Host retrieves the 
  11119. data, the host issues a PC_ACK.
  11120.  
  11121. EXAMPLE:        RECEIVE_MODE only
  11122.             RECVINIT                    - JT Fax
  11123.             (Host load ID in Buffer Area)
  11124.             PC_ACK                    - Host
  11125.             LOAD_DATA_COMMAND            - JT Fax
  11126.             (Host retrieves data)
  11127.             PC_ACK                    - Host
  11128.                 .
  11129.                 .
  11130.                 .
  11131.             EOT                        - JT Fax
  11132.  
  11133. RELATED FUNCTIONS:     EOT_FLAG, 
  11134.                 RECVINIT, 
  11135.                 PC_ACK
  11136.  
  11137.  
  11138. **************************************************************************
  11139. Load_Font_Command
  11140. Characteristic    Description
  11141. COMMAND:         Load_Font_Command
  11142. CODE:             04H
  11143. CATEGORY:        FAX 
  11144. DIRECTION:        Host to JT Fax
  11145. INPUT to JT:        Font Data in DATA_AREA
  11146.             EOTFLAG
  11147. OUTPUT from JT:    BOARD_ACK
  11148.             FONT_TOO_LARGE
  11149. DEFAULT:        Not applicable
  11150.  
  11151. DESCRIPTION:    The LOAD_FONT_COMMAND is used to load the predefined JT 
  11152. Fax fonts or a user designed font (see Chapter 7). The font would be used only 
  11153. in transmit mode and file type ASCII_TYPE. Since the font data is larger than 
  11154. the DATA area several LOAD_DATA_COMMANDS would be issued by JT Fax.
  11155.  
  11156. Issuing a HARD_RESET_COMMAND destroys a soft font, requiring a reload. 
  11157. Issuing a SOFT_RESET_COMMAND does not destroy a soft font.
  11158.  
  11159. EXAMPLE:        LOAD_FONT_COMMAND            - Host
  11160.             LOAD_DATA_COMMAND            - JT Fax
  11161.             ...load data in data_area            - Host
  11162.             PC_ACK                    - Host
  11163.             LOAD_DATA_COMMAND            - JT Fax
  11164.                 .
  11165.                 .
  11166.                 .
  11167.             EOT                        - Host
  11168.  
  11169. RELATED FUNCTIONS:     PC_ACK, EOT, 
  11170.                 LOAD_DATA_COMMAND, 
  11171.                 "JT Fax Fonts"
  11172.  
  11173.  
  11174. **************************************************************************
  11175. Manual_REC_Command
  11176. Characteristic    Description
  11177. COMMAND:         MANUAL_REC_COMMAND
  11178. CODE:             10H
  11179. CATEGORY:        Fax
  11180. DIRECTION:        Host to JT Fax 
  11181. INPUT to JT:        None
  11182. OUTPUT from JT:    BOARD_ACK
  11183. DEFAULT:        Not applicable
  11184.  
  11185. DESCRIPTION:    Manual receive enables the Host to force JT Fax to answer a 
  11186. call. The EXTEND_STATUS mode must be enabled before the STATUS command is 
  11187. received. A RING status appears in the STATUS_CODE field. After the status is 
  11188. retrieved, the Host returns the COMMAND field to IDLE.
  11189.  
  11190. EXAMPLE:        IDLE                        - FAX
  11191.             STATUS_COMMAND                - FAX
  11192.             ...retrieve status code ╥RING╙        - Host
  11193.             MANUAL_REC_COMMAND            - Host
  11194.             BOARD_ACK_STATUS            - FAX
  11195.             PC_ACK                    - Host
  11196.             LOAD_DATA_COMMAND            - FAX
  11197.             ...load data                     - Host
  11198.             PC_ACK                     - Host
  11199.             LOAD_DATA_COMMAND            - FAX
  11200.             ...load data                     - Host
  11201.             PC_ACK                     - Host
  11202.                  .
  11203.                  .
  11204.                  .
  11205.  
  11206. RELATED FUNCTIONS:     "Status Codes", 
  11207.                 STATUS_COMMAND
  11208.  
  11209.  
  11210. **************************************************************************
  11211. Modem_Mode_Command
  11212. Characteristic    Description
  11213. COMMAND:         Modem_Mode_Command
  11214. CODE:             027H
  11215. CATEGORY:        Configuration
  11216. DIRECTION:        Host to JT Fax
  11217. INPUT to JT:        None
  11218. OUTPUT from JT:    BOARD_ACK_STATUS
  11219. DEFAULT:        MODEM MODE in Command State
  11220.             FAX MODE is automatic with FAX commands
  11221.  
  11222. DESCRIPTION:        The MODEM_MODE_COMMAND is required to remove 
  11223. the previous FAX_MODE_COMMAND. The command also allows the OEM daughter 
  11224. Card to control the Telco line interface instead of JT Fax. PC Bus access is 
  11225. available in both Fax mode and Modem mode. If a Daughter card is not attached, 
  11226. Modem mode will not be necessary for JT Fax.
  11227.  
  11228. EXAMPLE:        IDLE                        - FAX
  11229.             FAX_MODE_COMMAND             - Host
  11230.             BOARD_ACK_STATUS            - FAX
  11231.             PC_ACK                    - Host
  11232.             IDLE                         - FAX
  11233.             OFF_HOOK_COMMAND            - Host
  11234.             BOARD_ACK_STATUS            - FAX
  11235.             PC_ACK                    - Host
  11236.             IDLE                         - FAX
  11237.             MODEM_MODE_COMMAND            - Host
  11238.             BOARD_ACK_STATUS            - FAX
  11239.             PC_ACK                    - Host
  11240.             IDLE                         - FAX
  11241.  
  11242. RELATED FUNCTIONS:     FAX_MODE_COMMAND
  11243.  
  11244.  
  11245. **************************************************************************
  11246. No_Busy_Command
  11247. Characteristic    Description
  11248. COMMAND:         No_Busy_Command
  11249. CODE:             02EH
  11250. CATEGORY:        Configuration 
  11251. DIRECTION:        Host to JT Fax
  11252. INPUT to JT:        None
  11253. OUTPUT from JT:    BOARD_ACK_STATUS
  11254. DEFAULT:        Detect Busy
  11255.  
  11256. DESCRIPTION:    The NO_BUSY_COMMAND instructs the JT Fax to ignore the 
  11257. busy signal.
  11258.  
  11259. EXAMPLE:        IDLE                        - FAX
  11260.             NO_BUSY_COMMAND             - Host
  11261.             BOARD_ACK_STATUS            - FAX
  11262.             PC_ACK                    - Host
  11263.             IDLE_STATUS                - Fax
  11264.  
  11265. RELATED FUNCTIONS:     XMIT_COMMAND, 
  11266.                 PULSE_DIAL_COMMAND, 
  11267.                 DTMF_DIAL_COMMAND
  11268.  
  11269.  
  11270. **************************************************************************
  11271. OEM_Code_Command
  11272. Characteristic    Description
  11273. COMMAND:         OEM_Code_Command
  11274. CODE:             079H
  11275. CATEGORY:        Utility 
  11276. DIRECTION:        Host to JT Fax
  11277. INPUT to JT:        None
  11278. OUTPUT from JT:    None
  11279. DEFAULT:        Not applicable
  11280.  
  11281. DESCRIPTION:    The OEM_CODE_COMMAND executes Host code that was 
  11282. downloaded to the Fax. The Fax utilizes a 16 MHz processor. The 
  11283. OEM_CODE_COMMAND executes custom assembly language code for the Host. The 
  11284. OEM code and data can be no larger than 28 KB. The OEM code has access to the 
  11285. command byte structure at 0:8000H. The code segment must be "0" and the code 
  11286. or data must start at 0:8800H. Additional 3K of RAM is available at 0:67D0H. (See 
  11287. Appendix F).
  11288.  
  11289. EXAMPLE:        IDLE                        - FAX
  11290.             OEM_CODE_COMMAND            - Host
  11291.             ...OEM code executes            - FAX
  11292.             ...OEM code terminates            - FAX
  11293.             BOARD_ACK_COMMAND            - FAX
  11294.             PC_ACK                    - Host
  11295.             IDLE                        - FAX
  11296.  
  11297. RELATED FUNCTIONS:     "OEM CODE ", 
  11298.                 OEM_LOAD_COMMAND
  11299.  
  11300.  
  11301. **************************************************************************
  11302. OEM_Load_Command
  11303. Characteristic    Description
  11304. COMMAND:         OEM_Load_Command
  11305. CODE:             07AH
  11306. CATEGORY:        Utility 
  11307. DIRECTION:        Host to JT Fax
  11308. INPUT to JT:        OEM code in DATA_AREA
  11309. OUTPUT from JT:    LOAD_DATA_COMMAND
  11310.             BOARD_ACK_COMMAND
  11311. DEFAULT:        Not applicable
  11312.  
  11313. DESCRIPTION:    The OEM_LOAD_COMMAND loads the OEM code into the Soft 
  11314. Font RAM. The OEM code and data can be no larger than 28 KB. The 
  11315. OEM_LOAD_COMMAND sequence is similar to the LOADFONT_COMMAND 
  11316. sequence. If the OEM code is larger than the space available, a 
  11317. FONT_TOO_LARGE error is returned. The load aborts when the error is reported. 
  11318. The OEM code remains in RAM until power up or a 
  11319. HARDWARE_RESET_COMMAND or LOAD_FONT_COMMAND is issued.
  11320.  
  11321. Note Soft fonts are not available when using this command.
  11322.  
  11323. EXAMPLE:        IDLE                        - FAX
  11324.             OEM_LOAD_COMMAND            - Host
  11325.             LOAD_DATA_COMMAND            - JT Fax
  11326.             ...Load OEM code into Data_area        - Host
  11327.             PC_ACK                    - Host
  11328.             LOAD_DATA_COMMAND            - JT Fax
  11329.                 .
  11330.                 .
  11331.                 .
  11332.             EOT                        - Host
  11333.             BOARD_ACK_COMMAND            - FAX
  11334.             PC_ACK                    - Host
  11335.             IDLE                        - FAX
  11336.  
  11337. RELATED FUNCTIONS:     "OEM CODE ", 
  11338.                 OEM_CODE_COMMAND, 
  11339.                 LOAD_FONT_COMMAND
  11340.  
  11341.  
  11342.  
  11343. **************************************************************************
  11344. Off_Hook_Command
  11345. Characteristic    Description
  11346. COMMAND:         Off_Hook_Command
  11347. CODE:             025H
  11348. CATEGORY:        Utility
  11349. DIRECTION:        Host to JT Fax
  11350. INPUT to JT:        None
  11351. OUTPUT from JT:    BOARD_ACK_COMMAND
  11352. DEFAULT:        Not applicable
  11353.  
  11354. DESCRIPTION:    The OFF_HOOK_COMMAND forces the JT Fax to go "Off-Hook" 
  11355. (i.e., pickup the phone). The command is used when the Host wants to initiate a 
  11356. dialing sequence (DTMF or Pulse). The OFF_HOOK_COMMAND returns to 
  11357. Command state after completion.
  11358.  
  11359. Note: JT Fax must be in FAX_MODE to use Utility commands.
  11360.  
  11361. EXAMPLE:        IDLE                        - FAX
  11362.             OFF_HOOK_COMMAND            - Host
  11363.             BOARD_ACK_STATUS            - FAX
  11364.             PC_ACK                    - Host
  11365.             IDLE                         - FAX
  11366.  
  11367. RELATED FUNCTIONS:     FAX_MODE_COMMAND, 
  11368.                 ON_HOOK_COMMAND
  11369.  
  11370.  
  11371. **************************************************************************
  11372. On_Hook_Command
  11373. Characteristic    Description
  11374. COMMAND:         On_Hook_Command
  11375. CODE:             024H
  11376. CATEGORY:        Utility
  11377. DIRECTION:        Host to JT Fax
  11378. INPUT to JT:        None
  11379. OUTPUT from JT:    BOARD_ACK_COMMAND
  11380. DEFAULT:        Not applicable
  11381.  
  11382. DESCRIPTION:        The ON_HOOK_COMMAND forces the JT Fax to go "on-
  11383. hook". The command is used after "OFF_HOOK_COMMAND" has been issued when 
  11384. the Host requires a return to "on-hook" condition (i.e., hang-up). The 
  11385. ON_HOOK_COMMAND returns to Command state after completion.
  11386.  
  11387. Note: JT Fax must be in FAX_MODE to use Utility commands.
  11388.  
  11389. EXAMPLE:            IDLE                    - FAX
  11390.                 ON_HOOK_COMMAND        - Host
  11391.                 BOARD_ACK_STATUS        - FAX
  11392.                 PC_ACK                - Host
  11393.                 IDLE                     - FAX
  11394.  
  11395. RELATED FUNCTIONS:     FAX_MODE_COMMAND, 
  11396.                 OFF_HOOK_COMMAND
  11397.  
  11398.  
  11399. **************************************************************************
  11400. Online_Voice_Record_Off
  11401. Characteristic    Description
  11402. COMMAND:         Online_Voice_Record_Off
  11403. CODE:             78H
  11404. CATEGORY:        Voice - Configuration 
  11405. DIRECTION:        Host to JT Fax
  11406. INPUT to JT:        None
  11407. OUTPUT from JT:    None
  11408. DEFAULT:        Off
  11409.  
  11410. DESCRIPTION:    This API command turns the online voice record option 
  11411. off. This command can be issued after the voice message has been received to 
  11412. prevent premature termination of tone or voice greeting messages.
  11413.  
  11414. EXAMPLE:        IDLE                        - Host
  11415.                 .
  11416.                 .
  11417.                 .
  11418.             ONLINE_VOICE_RECORD_ON        - Host
  11419.             BOARD_ACK                    - FAX
  11420.             PC_ACK                    - Host
  11421.             IDLE                         - FAX
  11422.             REC_START_COMMAND            - Host
  11423.                 .
  11424.                 .
  11425.                 .
  11426.             EOVFLAG                    - FAX
  11427.             ...Load data from Data Area        - Host
  11428.             PC_ACK                    - Host
  11429.             IDLE                         - FAX
  11430.             ONLINE_VOICE_RECORD_OFF        - Host
  11431.             BOARD_ACK                    - FAX
  11432.  
  11433. RELATED FUNCTIONS:     ONLINE_VOICE_RECORD_ON, 
  11434.                 EOVFLAG, 
  11435.                 RECORD_START_COMMAND
  11436.  
  11437.  
  11438. **************************************************************************
  11439. Online_Voice_Record_On
  11440. Characteristic    Description
  11441. COMMAND:         Online_Voice_Record_On
  11442. CODE:             77H
  11443. CATEGORY:        Voice - Configuration 
  11444. DIRECTION:        Host to JT Fax
  11445. INPUT to JT:        None
  11446. OUTPUT from JT:    None
  11447. DEFAULT:        Off
  11448.  
  11449. DESCRIPTION:    This API provides the option to record voice messages 
  11450. while online. The message is terminated after the caller disconnects and dial 
  11451. tone is detected. Since tones in the range of 350-620 Hz cause termination, it is 
  11452. necessary to disable this option during all other recordings.
  11453.  
  11454. EXAMPLE:        IDLE                        - Host
  11455.                 .
  11456.                 .
  11457.                 .
  11458.             SILENCE_DETECTED_STATUS        - FAX
  11459.                 .
  11460.                 .
  11461.                 .
  11462.             ONLINE_VOICE_RECORD_ON        - Host
  11463.             BOARD_ACK                    - FAX
  11464.             PC_ACK                    - Host
  11465.             REC_START_COMMAND            - Host
  11466.                 .
  11467.                 .
  11468.                 .
  11469.             EOVFLAG                    - FAX
  11470.             ...Load data from Data Area        - Host
  11471.             PC_ACK                    - Host
  11472.             IDLE                         - FAX
  11473.  
  11474. RELATED FUNCTIONS:     ONLINE_VOICE_RECORD_OFF, 
  11475.                 EOVFLAG, 
  11476.                 RECORD_START_COMMAND
  11477.  
  11478.  
  11479. **************************************************************************
  11480. PC_ACK
  11481. Characteristic    Description
  11482. COMMAND:         PC_ACK
  11483. CODE:             05H
  11484. CATEGORY:        STATUS handshake
  11485. DIRECTION:        Host to JT Fax
  11486. INPUT to JT:        None
  11487. OUTPUT from JT:    None, Idle
  11488. DEFAULT:        Not applicable
  11489.  
  11490. DESCRIPTION:    The PC_ACK command is used as acknowledgment between 
  11491. the PC software and the JT Fax 14400B. The response is appropriate when 
  11492. receiving a command from the JT Fax 14400 B Dual board. A PC_ACK does not 
  11493. require a response from the JT Fax 14400B Dual board.
  11494.  
  11495. EXAMPLE:            .
  11496.                 .
  11497.                 .
  11498.             GET_DTMF_COMMAND            - Host
  11499.             BOARD_ACK_STATUS            - JT Fax
  11500.             DTMF_DETECT_STATUS            - JT Fax
  11501.                 (retrieve DTMF code)
  11502.             PC_ACK                    - Host
  11503.     .
  11504.     .
  11505.     .
  11506.  
  11507. RELATED FUNCTIONS:     LOAD_DATA_COMMAND, 
  11508.                 RECVINIT, 
  11509.                 LOAD_FONT_COMMAND, 
  11510.                 BOARD_ACK_STATUS
  11511.  
  11512.  
  11513. **************************************************************************
  11514. Play_End_Command
  11515. Characteristic    Description
  11516. COMMAND:         Play_End_Command
  11517. CODE:             063H
  11518. CATEGORY:        Voice
  11519. DIRECTION:        Host to JT Fax
  11520. INPUT to JT:        None
  11521. OUTPUT from JT:    BOARD_ACK_STATUS
  11522. DEFAULT:        Not applicable
  11523.  
  11524. DESCRIPTION:    The PLAY_END_COMMAND stops the playback of a voice file 
  11525. in voice mode. The current buffer is deleted and the voice transmission is 
  11526. halted.
  11527.  
  11528. EXAMPLE:        PLAY_START_COMMAND            - Host
  11529.             BOARD_ACK_COMMAND            - FAX
  11530.             PC_ACK                    - Host
  11531.             LOAD_DATA_COMMAND            - FAX
  11532.             ...load data in DATA_AREA            - Host
  11533.             ...set number bytes                - Host
  11534.             PC_ACK                    - Host
  11535.             LOAD_DATA_COMMAND            - FAX
  11536.             PLAY_END_COMMAND            - Host
  11537.             BOARD_ACK_COMMAND            - FAX
  11538.             PC_ACK                    - Host
  11539.             IDLE                         - FAX
  11540.  
  11541. RELATED FUNCTIONS:     "Voice and DTMF", 
  11542.                 PLAY_START_COMMAND, 
  11543.                 EOV_FLAG
  11544.  
  11545.  
  11546. **************************************************************************
  11547. Play_Start_Command
  11548. Characteristic    Description
  11549. COMMAND:         Play_Start_Command
  11550. CODE:             062H
  11551. CATEGORY:        Voice 
  11552. DIRECTION:        Host to JT Fax
  11553. INPUT to JT:        Binary Voice data in DATA_AREA
  11554. OUTPUT from JT:    BOARD_ACK_STATUS
  11555. DEFAULT:        Not applicable
  11556.  
  11557. DESCRIPTION:    The PLAY_START_COMMAND initiates the playing of a 
  11558. recorded voice file. The command sequence is similar to a XMIT_COMMAND. An 
  11559. EOV_FLAG is issued when the last voice data is entered in DATA_AREA. The 
  11560. timing for loading data is the same as XMIT_COMMAND for JT Fax data formats.
  11561.  
  11562. EXAMPLE:        PLAY_START_COMMAND            - Host
  11563.             BOARD_ACK_COMMAND            - FAX
  11564.             PC_ACK                    - Host
  11565.             LOAD_DATA_COMMAND            - FAX
  11566.             ...load data in DATA_AREA            - Host
  11567.             ...set number bytes                - Host
  11568.             PC_ACK                    - Host
  11569.             LOAD_DATA_COMMAND            - FAX
  11570.             ...load data in DATA_AREA            - Host
  11571.             ...set number bytes                - Host
  11572.             PC_ACK                    - Host
  11573.             LOAD_DATA_COMMAND            - FAX
  11574.             ...load data in DATA_AREA            - Host
  11575.             ...set number bytes                - Host
  11576.             EOV_FLAG                    - Host    
  11577.             BOARD_ACK_COMMAND            - FAX
  11578.             PC_ACK                    - Host
  11579.             IDLE                         - FAX
  11580.  
  11581. RELATED FUNCTIONS:     "Voice and DTMF", 
  11582.                 CNG_DETECT_ON_COMMAND, 
  11583.                 ERRFLAG, 
  11584.                 NO_CNG_DETECT_ERROR, 
  11585.                 PLAY_STOP_COMMAND, 
  11586.                 EOV_FLAG
  11587.  
  11588.  
  11589. **************************************************************************
  11590. Pulse_Break_Command
  11591. Characteristic    Description
  11592. COMMAND:         Pulse_Break_Command
  11593. CODE:             03AH
  11594. CATEGORY:        Configuration
  11595. DIRECTION:        Host to JT Fax
  11596. INPUT to JT:        Word value in Buffer_Area in milliseconds
  11597. OUTPUT from JT:    BOARD_ACK_STATUS
  11598. DEFAULT:        60 milliseconds
  11599.  
  11600. DESCRIPTION:    The PULSE_BREAK_COMMAND requires the Host to set the 
  11601. value of the "BREAK" portion of the make/break ratio for pulse dialing. The 
  11602. value is written into buffer_area before the command is issued.
  11603.  
  11604. EXAMPLE:        IDLE                        - FAX
  11605.             PULSE_BREAK_COMMAND            - Host
  11606.             BOARD_ACK_STATUS            - FAX
  11607.             PC_ACK                    - Host
  11608.             IDLE                        - FAX
  11609.  
  11610. RELATED FUNCTIONS:     PULSE_MAKE_COMMAND, 
  11611.                 PULSE_DIAL_COMMAND
  11612.  
  11613.  
  11614. **************************************************************************
  11615. Pulse_Dial_Command
  11616. Characteristic    Description
  11617. COMMAND:         Pulse_Dial_Command
  11618. CODE:             02DH
  11619. CATEGORY:        Utility 
  11620. DIRECTION:        Host to JT Fax
  11621. INPUT to JT:        Pulse number at OFFSET 00H in buffer_area
  11622. Max. number length 60 characters.
  11623. OUTPUT from JT:    BOARD_ACK_STATUS
  11624. DEFAULT:        Not applicable
  11625.  
  11626. DESCRIPTION:    PULSE_DIAL_COMMAND dials the phone number at 
  11627. BUFFER_AREA. The command does not connect the phone line. The line must be 
  11628. connected with an OFF_HOOK_COMMAND. The dial string has several digits and 
  11629. modifiers. The DTMF digits supported are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. The dial 
  11630. modifiers are:
  11631.  
  11632. JT Fax 9600B COMPATIBILITY
  11633. -------------------------------
  11634. First byte: 
  11635.     'P' - Pulse Dial
  11636.     'T' - Tone Dial 
  11637. Second byte: 
  11638.     'W' - Wait for Dial Tone 
  11639.     ' ' - Do not Wait 
  11640.  
  11641. If the first two bytes are 'MA' (Manual Dial) a number will not be dialed.
  11642.  
  11643. JT Fax 14400B
  11644. ---------------------------
  11645. P    - pulse dial
  11646. T    - tone dial
  11647. W    - wait for dialtone
  11648. ,    - 2 second pause
  11649. !    - flash hook
  11650. I    - no busy detect
  11651.  
  11652. Note: JT Fax must be in Fax mode for Utility commands.
  11653.  
  11654. EXAMPLE:        IDLE                        - FAX
  11655.             (load string value in buffer_area)    - Host
  11656.             PULSE_DIAL_COMMAND             - Host
  11657.             BOARD_ACK_STATUS            - FAX
  11658.             PC_ACK                    - Host
  11659.             IDLE_STATUS                - Fax
  11660.     
  11661. RELATED FUNCTIONS:     XMIT_COMMAND, 
  11662.                 PULSE_INTER_COMMAND
  11663.  
  11664.  
  11665. **************************************************************************
  11666. Pulse_Inter_Command
  11667. Characteristic    Description
  11668. COMMAND:         Pulse_Inter_Command
  11669. CODE:             032H
  11670. CATEGORY:        Configuration
  11671. DIRECTION:        Host to JT Fax
  11672. INPUT to JT:        Time in milliseconds, WORD value in buffer_area
  11673. OUTPUT from JT:    BOARD_ACK_STATUS
  11674. DEFAULT:        600 milliseconds
  11675.  
  11676. DESCRIPTION:    The PULSE_INTER_COMMAND sets the interdigit time of the 
  11677. pulse dial. The units of the command are in milliseconds.
  11678.  
  11679. EXAMPLE:        IDLE                        - FAX
  11680.             (value in buffer_area)            - Host
  11681.             PULSE_INTER_COMMAND             - Host
  11682.             BOARD_ACK_STATUS            - FAX
  11683.             PC_ACK                     - Host
  11684.             IDLE_STATUS                - FAX
  11685.  
  11686. RELATED FUNCTIONS:     PULSE_BREAK_COMMAND, 
  11687.                 PULSE_MAKE_COMMAND
  11688.  
  11689.  
  11690. **************************************************************************
  11691. Pulse_Make_Command
  11692. Characteristic    Description
  11693. COMMAND:         Pulse_Make_Command
  11694. CODE:             03BH
  11695. CATEGORY:        Configuration
  11696. DIRECTION:        Host to JT Fax
  11697. INPUT to JT:        Word value in Buffer_Area in milliseconds
  11698. OUTPUT from JT:    BOARD_ACK_STATUS
  11699. DEFAULT:        40 milliseconds
  11700.  
  11701. DESCRIPTION:    The PULSE_MAKE_COMMAND requires the Host to set the 
  11702. value of the "make" portion of the make/break ratio for pulse dialing. The 
  11703. value is written into buffer_area before the command is issued.
  11704.  
  11705. EXAMPLE:        IDLE                        - FAX
  11706.             PULSE_MAKE_COMMAND            - Host
  11707.             BOARD_ACK_STATUS            - FAX
  11708.             PC_ACK                    - Host
  11709.             IDLE                        - FAX
  11710.  
  11711. RELATED FUNCTIONS:     PULSE_MAKE_COMMAND, 
  11712.                 PULSE_DIAL_COMMAND
  11713.  
  11714.  
  11715. *****************************************************************************
  11716. RecvInit
  11717. Characteristic    Description
  11718. COMMAND:         RecvInit
  11719. CODE:             10H
  11720. CATEGORY:        Fax 
  11721. DIRECTION:        JT Fax to Host
  11722. INPUT to JT:        PC_ACK
  11723. OUTPUT from JT:    None
  11724. DEFAULT:        Not applicable
  11725.  
  11726. DESCRIPTION:    RECVINIT command is issued to the Host when JT Fax detects 
  11727. an incoming call. The call may be a voice call or a fax call. It is up to the Host 
  11728. to make this determination (see Chapter 4) and decide to initiate voice 
  11729. procedures, disconnect, or continue the call. The default is to continue the call. 
  11730. If the caller is voice and CNG_DETECT is not enabled, the CED is transmitted and 
  11731. the call disconnects when Carrier timer expires. CNG detect mode has several 
  11732. options (see 
  11733. Chapter 4). 
  11734.  
  11735. EXAMPLE:        IDLE                        - FAX
  11736.             RECVINIT_COMMAND             - FAX
  11737.             ...(load ID into Buffer Area)        - FAX
  11738.             PC_ACK                    - Host
  11739.             LOAD_DATA_COMMAND            - FAX
  11740.             ...retrieve data                 - Host
  11741.             PC_ACK                     - Host
  11742.                 .
  11743.                 .
  11744.                 .
  11745.             EOTFLAG                     - JT Fax
  11746.             ...retrieve data                 - Host
  11747.             PC_ACK                     - Host
  11748.             IDLE                         - JT Fax
  11749.  
  11750. RELATED FUNCTIONS:     XMIT_COMMAND, 
  11751.                 LOAD_DATA_COMMAND,
  11752.                 SET_VOICE_COMMAND, 
  11753.                 DTMF_DETECT_COMMAND, 
  11754.                 DTMF_DETECT, 
  11755.                 SILENCE_DETECTED, 
  11756.                 SET_ACTIVITY_TIMER, 
  11757.                 "Error Codes"
  11758.  
  11759.  
  11760. **************************************************************************
  11761. Rec_PCX_Off_Command
  11762. Characteristic    Description
  11763. COMMAND:         Rec_PCX_Off_Command
  11764. CODE:             023H
  11765. CATEGORY:        Configuration
  11766. DIRECTION:        Host to JT Fax
  11767. INPUT to JT:        None
  11768. OUTPUT from JT:    BOARD_ACK_STATUS
  11769. DEFAULT:        PCX receive conversion disabled
  11770.  
  11771. DESCRIPTION:    REC_PCX_OFF_COMMAND configures JT Fax to convert 
  11772. the caller's T.4 encoded file to a JT_FAX_FORMAT.
  11773.  
  11774. EXAMPLE:        IDLE                        - FAX
  11775.             REC_PCX_OFF_COMMAND            - Host
  11776.             BOARD_ACK_STATUS            - FAX
  11777.             PC_ACK                    - Host
  11778.             IDLE                         - FAX
  11779.  
  11780. RELATED FUNCTIONS:     RECVINIT, 
  11781.                 MANUAL_REC_COMMAND, 
  11782.                 "Data Formats"
  11783.  
  11784.  
  11785. **************************************************************************
  11786. Rec_PCX_On_Command
  11787. Characteristic    Description
  11788. COMMAND:         Rec_PCX_On_Command
  11789. CODE:             022H
  11790. CATEGORY:        Configuration
  11791. DIRECTION:        Host to JT Fax
  11792. INPUT to JT:        None
  11793. OUTPUT from JT:    BOARD_ACK_STATUS
  11794. DEFAULT:        PCX receive conversion disabled
  11795.  
  11796. DESCRIPTION:    REC_PCX_ON_COMMAND configures JT Fax to convert 
  11797. the caller's T.4 encoded file to a PCX version 3 file. The PCX header is given to 
  11798. the Host in the first data load.
  11799.  
  11800. EXAMPLE:        IDLE                        - FAX
  11801.             REC_PCX_ON_COMMAND            - Host
  11802.             BOARD_ACK_STATUS            - FAX
  11803.             PC_ACK                    - Host
  11804.             IDLE                         - FAX
  11805.  
  11806. RELATED FUNCTIONS:     RECVINIT, 
  11807.                 MANUAL_REC_COMMAND
  11808.  
  11809.  
  11810. **************************************************************************
  11811. Rec_Start_Command
  11812. Characteristic    Description
  11813. COMMAND:         Rec_Start_Command
  11814. CODE:             064H
  11815. CATEGORY:        Voice 
  11816. DIRECTION:        Host to JT Fax
  11817. INPUT to JT:        None
  11818. OUTPUT from JT:    Recorded data in DATA_AREA
  11819.             Load_Data_Command
  11820. DEFAULT:        Not applicable
  11821.  
  11822. DESCRIPTION:    The REC_START_COMMAND instructs the fax to initiate a 
  11823. recording session. The command sequences are similar to the receive Fax data. 
  11824. Once the command is issued, the data pump is configured and voice data from 
  11825. the A/D converter is read immediately. The data sampling continues until a 
  11826. REC_STOP_COMMAND is issued.
  11827.  
  11828. EXAMPLE:        REC_START_STATUS            - Host
  11829.             BOARD_ACK_STATUS            - FAX
  11830.             ...load data in DATA_AREA            - FAX
  11831.             ...set number bytes                - FAX
  11832.             LOAD_DATA                     - FAX
  11833.             ...retrieve data from DATA_AREA    - Host
  11834.             PC_ACK                    - Host
  11835.             ...load data in DATA_AREA            - FAX
  11836.             ...set number bytes                - FAX
  11837.             LOAD_DATA                     - FAX
  11838.             ...load data from DATA_AREA        - Host
  11839.                 .
  11840.                 .
  11841.                 .
  11842.  
  11843. RELATED FUNCTIONS:     "Voice and DTMF", 
  11844.                 REC_STOP_COMMAND, 
  11845.                 RECVINIT_COMMAND
  11846.  
  11847. Note: This command can be used to record offline on Fax A with a microphone. 
  11848. Recording may be done while connected on-line with either Fax A or Fax B 
  11849. using the phone line as input.
  11850.  
  11851.  
  11852. **************************************************************************
  11853. Rec_Stop_Command
  11854. Characteristic    Description
  11855. COMMAND:         Rec_Stop_Command
  11856. CODE:             065H
  11857. CATEGORY:        Voice
  11858. DIRECTION:        Host to JT Fax
  11859. INPUT to JT:        None
  11860. OUTPUT from JT:    Recorded data in DATA_AREA
  11861.             Load_Data_Command
  11862.             EOV_FLAG
  11863. DEFAULT:        Off
  11864.  
  11865. DESCRIPTION:    The REC_STOP_COMMAND instructs the JT Fax to terminate a 
  11866. recording session. The recording stops and the data in the record buffers is 
  11867. transmitted to the Host. To end the transmission of data to the Host, the JT Fax 
  11868. issues an EOV_FLAG.
  11869.  
  11870. EXAMPLE:        REC_START_COMMAND            - Host
  11871.             BOARD_ACK_STATUS            - FAX
  11872.             ...load data in DATA_AREA            - FAX
  11873.             ...set number bytes                - FAX
  11874.             LOAD_DATA                     - FAX
  11875.             ...load data from DATA_AREA        - Host
  11876.             PC_ACK                    - Host
  11877.             ...load data in DATA_AREA            - FAX
  11878.             ...set number bytes                - FAX
  11879.             LOAD_DATA                     - FAX
  11880.             ...load data from DATA_AREA        - Host
  11881.             REC_STOP_COMMAND            - Host
  11882.             ...load data in DATA_AREA            - FAX
  11883.             ...set number bytes                - FAX
  11884.             EOV_FLAG                     - FAX
  11885.             ...load data from DATA_AREA        - Host
  11886.             PC_ACK                    - Host
  11887.             IDLE                         - FAX
  11888.  
  11889. RELATED FUNCTIONS:     "Voice and DTMF", 
  11890.                 REC_START_COMMAND, 
  11891.                 RECVINIT_COMMAND
  11892.  
  11893. Note: After recording messages, disconnect the microphone from Fax A.
  11894.  
  11895.  
  11896. **************************************************************************
  11897. Reset_Data_Pump_Command
  11898. Characteristic    Description
  11899. COMMAND:         Reset_Data_Pump_Command
  11900. CODE:             033H
  11901. CATEGORY:        Utility
  11902. DIRECTION:        Host to JT Fax
  11903. INPUT to JT:        None
  11904. OUTPUT from JT:    BOARD_ACK_STATUS
  11905. DEFAULT:        Not applicable
  11906. DESCRIPTION:    The RESET_DATA_PUMP command resets the Fax data pump. 
  11907. When resetting the data pump, the chip returns to its initial power on state. 
  11908. This command should only be used before the DIAL_DTMF_COMMANDS state. 
  11909. The command is used by JT Fax to set the data pump to a known state after each 
  11910. call or receive.
  11911.  
  11912. EXAMPLE:    RESET_DATA_PUMP_COMMAND            - Host
  11913.         BOARD_ACK_STATUS                - FAX
  11914.         PC_ACK                        - Host
  11915.         IDLE                            - FAX
  11916.  
  11917. RELATED FUNCTIONS:     HARDWARE_RESET_COMMAND
  11918.  
  11919.  
  11920. **************************************************************************
  11921. Return_to_Command
  11922. Characteristic    Description
  11923. COMMAND:         Return_to_Command
  11924. CODE:             072H
  11925. CATEGORY:        Voice 
  11926. DIRECTION:        Host to JT Fax
  11927. INPUT to JT:        None
  11928. OUTPUT from JT:    BOARD_ACK_COMMAND
  11929. DEFAULT:        Not applicable
  11930. DESCRIPTION:    The RETURN_TO_COMMAND terminates voice mode and 
  11931. returns to command state. The JT Fax returns to command state, and the data 
  11932. pump is reset. The phone line may be disconnected by the ON_HOOK_COMMAND 
  11933. if desired.
  11934.  
  11935. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  11936.             PC_ACK                    - Host
  11937.             RETURN_TO_COMMAND            - HOST
  11938.             BOARD_ACK_STATUS            - FAX
  11939.             PC_ACK                    - Host
  11940.             IDLE                        - FAX
  11941.  
  11942. RELATED FUNCTIONS:     "Voice and DTMF", 
  11943.                 CNG_DETECT_ON_COMMAND, 
  11944.                 RETURN_TO_DATA_COMMAND
  11945.  
  11946.  
  11947. **************************************************************************
  11948. Return_to_Data_Command
  11949. Characteristic    Description
  11950. COMMAND:         Return_to_Data_Command
  11951. CODE:             071H
  11952. CATEGORY:        Voice 
  11953. DIRECTION:        Host to JT Fax
  11954. INPUT to JT:        None
  11955. OUTPUT from JT:    BOARD_ACK_COMMAND
  11956. DEFAULT:        Not applicable
  11957.  
  11958. DESCRIPTION:    The RETURN_TO_DATA_COMMAND terminates voice mode 
  11959. and returns to complete a fax call. The JT Fax is returned to fax data at the 
  11960. beginning of Phase A and transmits the CED to the caller. (See Chapter 6).
  11961.  
  11962. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  11963.             PC_ACK                    - Host
  11964.             RETURN_TO_DATA_COMMAND        - Host
  11965.             BOARD_ACK_STATUS            - FAX
  11966.             ...send CED                    - FAX
  11967.  
  11968. RELATED FUNCTIONS:     "Voice and DTMF", 
  11969.                 CNG_DETECT_ON_COMMAND
  11970.  
  11971.  
  11972. **************************************************************************
  11973. Setup_Voice_Command
  11974. Characteristic    Description
  11975. COMMAND:         Setup_Voice_Command
  11976. CODE:             05FH
  11977. CATEGORY:        Voice 
  11978. DIRECTION:        Host to JT Fax
  11979. INPUT to JT:        None
  11980. OUTPUT from JT:    BOARD_ACK_STATUS
  11981. DEFAULT:        Not applicable
  11982.  
  11983. DESCRIPTION:    The SETUP_VOICE_COMMAND must be issued from command 
  11984. state. The command is used to enter voice mode for RECORDING or PLAYBACK 
  11985. and testing. Once in the VOICE mode, all voice commands can be issued and 
  11986. DTMF detection is enabled. See Chapter 6.
  11987.  
  11988. EXAMPLE:        IDLE                        - FAX
  11989.             SETUP_VOICE_COMMAND             - Host
  11990.             BOARD_ACK_STATUS            - FAX
  11991.             PC_ACK                    - Host
  11992.             IDLE                        - FAX
  11993.  
  11994. RELATED FUNCTIONS:     ╥Voice and DTMF"
  11995.  
  11996.  
  11997. **************************************************************************
  11998. Set_Act_Timer_Command
  11999. Characteristic    Description
  12000. COMMAND:         Set_Act_Timer_Command
  12001. CODE:             06FH
  12002. CATEGORY:        Voice - Configuration
  12003. DIRECTION:        Host to JT Fax
  12004. INPUT to JT:        Word value in Buffer_Area
  12005. OUTPUT from JT:    BOARD_ACK_STATUS
  12006. DEFAULT:        3.5 seconds
  12007.  
  12008. DESCRIPTION:    The SET_ACT_TIMER_COMMAND sets the activity timer 
  12009. when CNG_DETECT_ON_COMMAND has been issued. The timer value is specified 
  12010. in milliseconds and has a range from 0-65000. The activity timer starts after 
  12011. the Fax picks up the phone line. If a CNG tone is detected (Fax caller), the 
  12012. timer is reset, a CED is transmitted (Fax callee) and the Fax call continues. 
  12013. However, if silence is detected (no CNG tone) for the duration of the activity 
  12014. timer, the SILENCE_DETECT_STATUS is issued. The JT Fax automatically enters 
  12015. VOICE/DTMF mode. 
  12016.  
  12017. Note: Cycle time for a CNG_TONE is 3 seconds off, 0.5 seconds on.
  12018.  
  12019. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  12020.             PC_ACK                    - Host
  12021.             IDLE                        - Host
  12022.                 .
  12023.                 .
  12024.                 .
  12025.             PLAY_START_COMMAND            - Host
  12026.                 .
  12027.                 .
  12028.                 .
  12029.  
  12030. RELATED FUNCTIONS:     "Voice and DTMF", 
  12031.                 PLAY_START_COMMAND, 
  12032.                 DTMF_DIAL_COMMAND, 
  12033.                 DTMF_DETECT_ON_COMMAND
  12034.  
  12035.  
  12036. **************************************************************************
  12037. Set_Carrier_Command
  12038. Characteristic    Description
  12039. COMMAND:         Set_Carrier_Command
  12040. CODE:             020H
  12041. CATEGORY:        Configuration
  12042. DIRECTION:        Host to JT Fax 
  12043. INPUT to JT:        Wait for carrier time
  12044.             buffer area (word value) - in milliseconds max. 
  12045.             (65 seconds)
  12046. OUTPUT from JT:    BOARD_ACK
  12047. DEFAULT:        60 sec
  12048.  
  12049. DESCRIPTION:    The SET_CARRIER_COMMAND sets the time to wait for the 
  12050. caller and called station to complete Phase A. The NO_CARRIER timer starts 
  12051. after the dial and terminates at the beginning of Phase B. If the timer expires, 
  12052. the call is disconnected and an ERROR status returned to the host. Carrier may 
  12053. also be set placing a work value into Buffer Area [0] before a Sync Command is 
  12054. issued. Units are in milliseconds.
  12055.  
  12056. EXAMPLE:        (load time in buffer area)        - Host
  12057.             SET_CARRIER_COMMAND             - Host
  12058.             BOARD_ACK_STATUS            - FAX
  12059.             PC_ACK                    - Host
  12060.             IDLE                        - FAX
  12061.  
  12062. RELATED FUNCTIONS:     ERROR, "Error Codes", 
  12063.                 "Status Codes"
  12064.  
  12065.  
  12066. **************************************************************************
  12067. Set_Gain_Command
  12068. Characteristic    Description
  12069. COMMAND:         Set_Gain_Command
  12070. CODE:             069H
  12071. CATEGORY:        Voice - Configuration
  12072. DIRECTION:        Host to JT Fax
  12073. INPUT to JT:        Word value in BUFFER_AREA
  12074. OUTPUT from JT:    BOARD_ACK_COMMAND
  12075. DEFAULT:        43.8 dB
  12076.  
  12077. DESCRIPTION:    The SET_GAIN_COMMAND sets the maximum gain of the 
  12078. voice recording. The maximum gain should only be changed during recording 
  12079. to achieve a better quality of voice recording. The maximum gain is calculated 
  12080. by the following formula:
  12081.  
  12082.     MAX_GAIN = 655.36 [ 50 - Gain Limit (dB) ].
  12083.  
  12084. The value should be a 16-bit, positive, two╒s compliment value. The value is 
  12085. retained between recordings.
  12086.  
  12087. EXAMPLE:        IDLE                        - FAX
  12088.             ...load Gain Limit WORD in 
  12089.                  buffer_area                 - Host
  12090.             SET_GAIN_COMMAND            - Host
  12091.             BOARD_ACK_COMMAND            - FAX
  12092.             PC_ACK                    - Host
  12093.             IDLE                        - FAX
  12094.             REC_START_COMMAND            - Host
  12095.             BOARD_ACK_COMMAND            - FAX
  12096.             ...load data in DATA_AREA            - FAX
  12097.             ...set number bytes                - FAX
  12098.             LOAD_DATA_COMMAND            - FAX
  12099.                 .
  12100.                 .
  12101.                 .
  12102.             EOV_FLAG                     - FAX
  12103.             ...load data from DATA_AREA        - Host
  12104.             PC_ACK                    - Host
  12105.             IDLE                         - FAX
  12106.  
  12107. RELATED FUNCTIONS:     "Voice and DTMF", 
  12108.                 REC_START_COMMAND
  12109.  
  12110.  
  12111. **************************************************************************
  12112. Set_Sample_Rate_Command
  12113. Characteristic    Description
  12114. COMMAND:         Set_Sample_Rate_Command
  12115. CODE:             06AH
  12116. CATEGORY:        Voice - Configuration
  12117. DIRECTION:        Host to JT Fax
  12118. INPUT to JT:        BYTE value in BUFFER_AREA
  12119. OUTPUT from JT:    BOARD_ACK_COMMAND
  12120. DEFAULT:        9600 Hz
  12121. DESCRIPTION:    The SET_SAMPLE_RATE_COMMAND sets the sampling rate of 
  12122. the voice recording. The value placed into the Buffer_Area is an index to the 
  12123. provided sample rates. The following is an EXAMPLE of the available sample rates:
  12124.  
  12125. ---------------
  12126. 1    9600 Hz
  12127. 2    8000 Hz
  12128. 3    7200 Hz
  12129.  
  12130. The value is retained between voice mode sessions.
  12131.  
  12132. EXAMPLE:        IDLE                        - FAX
  12133.             ...load BYTE in buffer_area         - Host
  12134.             SET_SAMPLE_RATE_COMMAND        - Host
  12135.             BOARD_ACK_STATUS            - FAX
  12136.             PC_ACK                    - Host
  12137.             IDLE                        - FAX
  12138.             REC_START_COMMAND            - Host
  12139.             BOARD_ACK_STATUS            - FAX
  12140.             ...load data in DATA_AREA            - FAX
  12141.             ...set number bytes                - FAX
  12142.             LOAD_DATA_COMMAND            - FAX
  12143.                 .
  12144.                 .
  12145.                 .
  12146.             EOV_FLAG                     - FAX
  12147.             ...load data from DATA_AREA        - Host
  12148.             PC_ACK                    - Host
  12149.             IDLE                         - FAX
  12150.  
  12151. RELATED FUNCTIONS:     "Voice and DTMF", 
  12152.                 REC_START_COMMAND
  12153.  
  12154.  
  12155. **************************************************************************
  12156. Set_Slew_Rate_Command
  12157. Characteristic    Description
  12158. COMMAND:         Set_Slew_Rate_Command
  12159. CODE:             06BH
  12160. CATEGORY:        Voice - Configuration
  12161. DIRECTION:        Host to JT Fax
  12162. INPUT to JT:        WORD value in BUFFER_AREA
  12163. OUTPUT from JT:    BOARD_ACK_COMMAND
  12164. DEFAULT:        0
  12165.  
  12166. DESCRIPTION:    The SET_SLEW_RATE_COMMAND sets the slew rate of the 
  12167. voice recording. The value is placed into the Buffer_Area. The Slew rate value 
  12168. determines the fall off time of the voice wave form. The value can be 
  12169. adjusted by the following formula, 
  12170.  
  12171.     SLEW_RATE = [19968/(Sample Rate x fall time in seconds)].
  12172.  
  12173. The value is a 16-bit, positive, two╒s compliment value. The value is retained 
  12174. between voice sessions.
  12175.  
  12176. EXAMPLE:        IDLE                        - FAX
  12177.             ...load BYTE in buffer_area         - Host
  12178.             SET_SLEW_RATE_COMMAND        - Host
  12179.             BOARD_ACK_STATUS            - FAX
  12180.             PC_ACK                    - Host
  12181.             IDLE                        - FAX
  12182.             REC_START_COMMAND            - Host
  12183.             BOARD_ACK_STATUS            - FAX
  12184.             ...load data in DATA_AREA            - FAX
  12185.             ...set number bytes                - FAX
  12186.             LOAD_DATA_COMMAND            - FAX
  12187.                 .
  12188.                 .
  12189.                 .
  12190.             EOV_FLAG                     - FAX
  12191.             ...load data from DATA_AREA        - Host
  12192.             PC_ACK                    - Host
  12193.             IDLE                         - FAX
  12194.  
  12195. RELATED FUNCTIONS:     "Voice and DTMF", 
  12196.                 REC_START_COMMAND
  12197.  
  12198.  
  12199. **************************************************************************
  12200. Set_User_CSI_Command
  12201. Characteristic    Description
  12202. COMMAND:         Set_User_CSI_Command
  12203. CODE:             055H
  12204. CATEGORY:        Configuration 
  12205. DIRECTION:        Host to JT Fax
  12206. INPUT to JT:        Buffer_Area 20 byte CSI
  12207. OUTPUT from JT:    BOARD_ACK_STATUS
  12208. DEFAULT:        Not applicable
  12209.  
  12210. DESCRIPTION:    The SET_USER_CSI_COMMAND provides flexibility in Fax 
  12211. identification. TSI/CSI Fax information for transmit and receive can be 
  12212. modified to contain a specialized message. The format previously available for 
  12213. 9600B allowed the CSI to be placed in the buffer area on transmit and receive. 
  12214. The format of header data in the BUFFER_AREA consisted of:
  12215.  
  12216. Ñ    0-20 CSI
  12217. Ñ    21-54 -other user information
  12218. Ñ    55 - Page number followed by space (transmit only)
  12219. Ñ    56 - 61 padded spaces.
  12220.  
  12221. The CSI was always contained in the header of the transmitted page. In receive 
  12222. mode, the CSI was transmitted to the caller. Since the CSI appeared on the Fax 
  12223. page as a header, there was no way to send different CSI data to the 
  12224. caller/callee. This command allows two different messages to appear to the 
  12225. caller/callee. One message in the CSI and the other in the printed Fax header.
  12226.  
  12227. The SET_USER_CSI mode can only be cleared with a HARD_RESET.
  12228.  
  12229. EXAMPLE:        IDLE                        - FAX
  12230.             SET_USER_CSI_COMMAND             - Host
  12231.             BOARD_ACK_STATUS            - FAX
  12232.             PC_ACK                    - Host
  12233.             IDLE                        - FAX
  12234.  
  12235. RELATED FUNCTIONS:     XMIT_COMMAND, 
  12236.                 "Buffer Area"
  12237.  
  12238.  
  12239. **************************************************************************
  12240. Set_User_TSI_Command
  12241. Characteristic    Description
  12242. COMMAND:         Set_User_TSI_Command
  12243. CODE:             054H
  12244. CATEGORY:        Configuration 
  12245. DIRECTION:        Host to JT Fax
  12246. INPUT to JT:        Buffer_Area 20 byte TSI
  12247. OUTPUT from JT:    BOARD_ACK_STATUS
  12248. DEFAULT:        Not applicable
  12249.  
  12250. DESCRIPTION:    The SET_USER_TSI_COMMAND provides flexibility in fax 
  12251. identification. TSI/CSI fax information for transmit and receive can be 
  12252. modified to contain a specialized message. The format previously available for 
  12253. 9600B allowed the TSI to be placed in the buffer area on transmit and receive. 
  12254. The format of header data in the BUFFER_AREA consisted of:
  12255.  
  12256. Ñ    0-20 TSI
  12257. Ñ    21-54 -other user information
  12258. Ñ    55 - Page number followed by space (transmit only)
  12259. Ñ    56 - 61 padded spaces.
  12260.  
  12261. The TSI was always contained in the header of the transmitted page. In receive 
  12262. mode, the TSI was transmitted to the caller. Since the TSI appeared on the Fax 
  12263. page as a header, there was no way to send different TSI data to the 
  12264. caller/callee. This command allows two different messages to appear to the 
  12265. caller/callee. One message in the TSI and the other in the printed Fax header.
  12266.  
  12267. The SET_USER_TSI mode can only be cleared with a HARD_RESET.
  12268.  
  12269. EXAMPLE:    IDLE                            - FAX
  12270.         SET_USER_TSI_COMMAND                 - Host
  12271.         BOARD_ACK_STATUS                - FAX
  12272.         PC_ACK                        - Host
  12273.         IDLE                            - FAX
  12274.  
  12275. RELATED FUNCTIONS:     XMIT_COMMAND, 
  12276.                 "Buffer Area"
  12277.  
  12278.  
  12279. **************************************************************************
  12280. Silence_Detected_Status
  12281. Characteristic    Description
  12282. COMMAND:         Silence_Detected_Status
  12283. CODE:             06CH
  12284. CATEGORY:        Voice 
  12285. DIRECTION:        JT Fax to Host
  12286. INPUT to JT:        PC_ACK
  12287. OUTPUT from JT:    None
  12288. DEFAULT:        Not applicable
  12289.  
  12290. DESCRIPTION:    The SILENCE_DETECTED_STATUS notifies the Host that a CNG 
  12291. tone was not detected within the user-defined time limit. The notification only 
  12292. occurs if a CNG_DETECT_ON_COMMAND has been previously issued. Once silence 
  12293. has been detected, the JT Fax enters into Voice mode. The Host has the following 
  12294. options
  12295.  
  12296. 1.    voice commands,
  12297. 2.    wait for DTMF detection,
  12298. 3.    return to data and continue call, and
  12299. 4.    return to command and terminate call.
  12300.  
  12301. EXAMPLE:        .
  12302.             .
  12303.             .
  12304.         SILENCE_DETECTED_STATUS            - FAX
  12305.         PC_ACK                        - Host
  12306.         REC_START_COMMAND                - Host
  12307.         BOARD_ACK_STATUS                - FAX
  12308.         ...load data in DATA_AREA                - FAX
  12309.         ...set number bytes                    - FAX
  12310.         LOAD_DATA_COMMAND                - FAX
  12311.             .
  12312.             .
  12313.             .
  12314.         EOV_FLAG                         - FAX
  12315.         ...load data from DATA_AREA            - Host
  12316.         PC_ACK                        - Host
  12317.         IDLE                             - FAX
  12318.  
  12319. RELATED FUNCTIONS:     "Voice and DTMF", 
  12320.                 REC_START_COMMAND, 
  12321.                 DTMF_DIAL, 
  12322.                 DTMF_DETECT_ON_COMMAND
  12323.  
  12324.  
  12325. **************************************************************************
  12326. Software_Reset_Command
  12327. Characteristic    Description
  12328. COMMAND:         Software_Reset_Command
  12329. CODE:             031H
  12330. CATEGORY:        Control
  12331. DIRECTION:        Host to JT Fax
  12332. INPUT to JT:        None
  12333. OUTPUT from JT:    None
  12334. DEFAULT:        Not applicable
  12335.  
  12336. DESCRIPTION:    The SOFTWARE_RESET_COMMAND instructs JT Fax to initiate 
  12337. a soft reset function. The command is placed in the API block location, 
  12338. RESET_BOARD, at offset 51H. When RESET_BOARD is set to a 
  12339. SOFTWARE_RESET_COMMAND, the hardware is reset and all buffers are cleared 
  12340. (soft fonts are not cleared). After the default carrier time is reset to the value 
  12341. contained in BUFFER_AREA, JT Fax is in command state.
  12342.  
  12343. EXAMPLE:        SOFTWARE_RESET_COMMAND         - Host
  12344.             (wait for 3 seconds)
  12345.             IDLE_STATUS                - FAX
  12346.  
  12347. RELATED FUNCTIONS:     HARDWARE_RESET_COMMAND, 
  12348.                 SET_CARRIER_COMMAND
  12349.  
  12350.  
  12351. **************************************************************************
  12352. Speaker_Off_Command
  12353. Characteristic    Description
  12354. COMMAND:         Speaker_Off_Command
  12355. CODE:             03EH
  12356. CATEGORY:        Utility
  12357. DIRECTION:        Host to JT Fax
  12358. INPUT to JT:        None
  12359. OUTPUT from JT:    BOARD_ACK
  12360. DEFAULT:        Not applicable
  12361.  
  12362. DESCRIPTION:    The SPEAKER_OFF_COMMAND is used when the Host wants 
  12363. the speaker off for VOICE setup or when using the Utility commands. In 
  12364. normal JT Fax operation the speaker is controlled by the SPEAKER field of the 
  12365. API block.
  12366.  
  12367. EXAMPLE:        SPEAKER_OFF_COMMAND            - Host
  12368.             BOARD_ACK_STATUS            - FAX
  12369.             PC_ACK                    - Host
  12370.             IDLE                        - FAX
  12371.  
  12372. RELATED FUNCTIONS:     SPEAKER_ON_COMMAND
  12373.  
  12374.  
  12375. **************************************************************************
  12376. Speaker_On_Command
  12377. Characteristic    Description
  12378. COMMAND:         Speaker_On_Command
  12379. CODE:             03DH
  12380. CATEGORY:        Utility
  12381. DIRECTION:        Host to JT Fax
  12382. INPUT to JT:        None
  12383. OUTPUT from JT:    BOARD_ACK
  12384. DEFAULT:        Not applicable
  12385.  
  12386. DESCRIPTION:    The SPEAKER_ON_COMMAND is used when the Host wants 
  12387. the speaker on for VOICE setup or when using the Utility commands. In normal 
  12388. JT Fax operation the speaker is controlled by the SPEAKER field of the API block.
  12389.  
  12390. EXAMPLE:        SPEAKER_ON_COMMAND            - Host
  12391.             BOARD_ACK_STATUS            - FAX
  12392.             PC_ACK                    - Host
  12393.             IDLE                        - FAX
  12394.  
  12395. RELATED FUNCTIONS:     SPEAKER_OFF_COMMAND
  12396.  
  12397.  
  12398. **************************************************************************
  12399. Xmit_Command
  12400. Characteristic    Description
  12401. COMMAND:         Xmit_Command
  12402. CODE:             01H
  12403. CATEGORY:        FAX Transmit
  12404. DIRECTION:        Host to JT Fax
  12405. INPUT to JT:        Phone number in buffer area (if desired)
  12406.             Header in buffer area
  12407.             FAX data in swap buffer
  12408.             EOPFLAG    
  12409.             EOTFLAG
  12410. OUTPUT from JT:    LOAD_DATA_COMMAND
  12411.             BOARD_ACK
  12412.             SUCCESSFUL_TRANSMIT
  12413.             BUSY
  12414.             RING
  12415.             status messages
  12416. DEFAULT:        Not applicable
  12417.  
  12418. DESCRIPTION:    This API is the FAX transmit command. The transmit 
  12419. command operates the speaker, dials the phone number, and transfers the fax. 
  12420. After the dial is completed, the Host is prompted for the header information. 
  12421. This header is placed on the top page of the fax and a portion is used for the 
  12422. TSI. Once the header is received, the host is prompted for the data with the 
  12423. LOAD_DATA_COMMAND. The data is passed in the DATA_AREA location. The Host 
  12424. must issue a PC_ACK when all the data is loaded into DATA_AREA. Further 
  12425. LOAD_DATA_COMMANDs are issued until the fax transfer is complete. The Host 
  12426. terminates the transfer with an EOT command. 
  12427.  
  12428. The time constraint placed on the Host for data transfer is based on the format 
  12429. of the data. In the JT Fax format, approximately 10k of data can be buffered on 
  12430. the FAX. So, timing during transmission is only critical during the first initial 
  12431. stages of buffering. The initial stages require data to be loaded as fast as 
  12432. possible. 
  12433.  
  12434. If the data requires translation, the timing is more critical. The Host buffers 2 
  12435. initial loads. The worst case scenario for ASCII and PCX is approximately 5 
  12436. seconds between data loads at 14400 bps before data is lost. 
  12437.  
  12438. The data placed in DATA_AREA may be in one of three formats. These are:
  12439.  
  12440.     ASCII_FORMAT    00H
  12441.     PCX_3_FORMAT    01H
  12442.     JT_FAX_FORMAT    63H
  12443.  
  12444. The formats are discussed in detail in Chapter 7.
  12445.  
  12446.  
  12447. Characteristic    Description
  12448.  
  12449. EXAMPLE:        IDLE                        - FAX
  12450.             (load phone number in buffer area)     - Host
  12451.             (load baud rate if desired)         - Host
  12452.             XMIT_COMMAND                 - Host
  12453.             BOARD_ACK_STATUS            - FAX
  12454.             ...load header                - Host
  12455.             PC_ACK                     - Host
  12456.             LOAD_DATA_COMMAND            - FAX
  12457.             ...load data and set format            - Host
  12458.             ...set number bytes                - Host
  12459.             PC_ACK                     - Host
  12460.             LOAD_DATA_COMMAND            - FAX
  12461.             ...load data                     - Host
  12462.             PC_ACK                     - Host
  12463.                 .
  12464.                 .
  12465.                 .
  12466.             EOT                         - Host
  12467.             TRANSMIT                    - FAX
  12468.             BOARD_ACK                    - FAX
  12469.             PC_ACK                    - Host
  12470.             IDLE                         - Host
  12471.  
  12472. When the Host is transmitting multiple pages and wants to control the page 
  12473. breaks, an EOP is issued instead of PC_ACK. To control the length of the page 
  12474. the min_page parameter should be used.
  12475.  
  12476. RELATED FUNCTIONS:     IDLE, EOT, 
  12477.                 PC_ACK, 
  12478.                 BOARD_ACK, 
  12479.                 SET_CARRIER_COMMAND, 
  12480.                 FAX_MODE_COMMAND, 
  12481.                 BUSY_COMMAND, 
  12482.                 ENHANCED_MODE_ON_COMMAND, 
  12483.                 dial modifiers
  12484.  
  12485.  
  12486. ==========================================================================
  12487. Chapter 6
  12488. Shared Memory Interface Description
  12489.  
  12490.  
  12491. All functions, status codes, return codes, and data pass through the JT Fax 
  12492. shared memory interface. The interface address is selectable in 4k increments 
  12493. and is located between memory address 8000H to 0FFFFH (see the Hayes JT Fax 
  12494. 14400B Dual Installation Guide).
  12495.  
  12496. If the C programming language is used for the Host program, then the 
  12497. compiler should pack the API structure on byte boundaries. This is 
  12498. accomplished in Microsoft C by using the following statement:
  12499.  
  12500.     #pragma pack (1)
  12501.  
  12502.  
  12503. **************************************************************************
  12504. Shared Memory Interface Structure
  12505. The shared memory interface structure is organized as follows:
  12506.  
  12507. Note: This map is used with Fax A at offset 0 and Fax B at offset 800H.
  12508.  
  12509. Offset Length    Name            Usage/Description
  12510. --------------------------------------------------------------------------------------
  12511. 0000H-0005H    ID            Location of board address
  12512. 0005H-0001H    COMMAND        Commands and Status
  12513. 0006H-0001H    RING_COUNT    Ring to answer on
  12514. 0007H-0001H    CALL_MODE        Transmit/Receive
  12515. 0008H-0001H    FILE_TYPE         ASCII, PCX, JT Fax
  12516. 0009H-0001H    XMIT_FONT         Resolution, Font number
  12517. 000AH-0001H    MIN_PAGE         Force 11 inch page flag
  12518. 000BH-003DH    BUFFER_AREA     Phone numbers & headers
  12519. 0048H-0002H    SECONDS        Length of connection
  12520. 004AH-0001H    SPEAKER        on, off, on till connect
  12521. 004BH-0001H    RET_CODE         Completion code
  12522. 004CH-0002H    PAGES         Number of pages sent
  12523. 004EH-0002H    DATA_LEN         Length of valid data
  12524. 0050H-0001H    BAUD_RATE        2400, 4800, 7200, 9600, 12000, 14400 baud
  12525. 0051H-0001H    RESET_BOARD    Reset the board
  12526. 0052H-0001H    STATUS_CODE    Extended status
  12527. 0053H-0001H    LINE_COUNT        Number of lines transmitted
  12528. 0054H-0001H    RCV_FILE_TYPE    Receive file type
  12529. 0055H-0002H    RCV_LINE        Lines per page received (ASCII)
  12530. 0057H-0001H    RESERVED        Not used at this time
  12531. 0058H-07A8H    DATA_AREA        Used for file data
  12532.  
  12533. The following paragraphs describe the Shared Memory Interface fields:
  12534.  
  12535. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12536. ID    Field where the product keyword is located. Set by Board. 
  12537.  
  12538. The ID field is used to locate the board at the start of a program. Memory can be 
  12539. searched from segment 8000H to F000H for the 'ASHER' keyword at each 2K 
  12540. boundary. In the JT Fax 14400B tool kit, FINDFAX.ASM file contains an 
  12541. assembler routine that locates the 'ASHER' string. This allows the Host program 
  12542. to locate the board in memory without knowing the exact memory location.
  12543.  
  12544. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12545. COMMAND    Field for command handshakes. Set by Host and JT Fax. 
  12546.  
  12547. The COMMAND byte is used to pass most commands to the board and some status 
  12548. bytes are returned through this byte. The status bytes are JT Fax 9600B 
  12549. compatible codes described in Chapter 3.
  12550.  
  12551. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12552. RING_COUNT    Field for ring to answer count. Set by Host.
  12553.  
  12554. Ring_count is a status byte used for the ring-to-answer-on count. The count 
  12555. allows the board to answer the call when a certain number of rings is reached. 
  12556. This byte should be set to 0FH if ring detection is not desired. For originate 
  12557. only applications and manual answers, a status command RING is provided in 
  12558. the first byte of buffer area. 
  12559.  
  12560. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12561. CALL_MODE     Field for answer or receive mode. Set by Host.
  12562.  
  12563. Call_mode should be set prior to making or receiving a call. The call modes 
  12564. currently supported by the board are:
  12565.  
  12566.     Code    Description
  12567.     ---------------------------------
  12568.     00H    Call to transmit a fax
  12569.     02H    Answer to receive a fax
  12570.  
  12571. Note: This option is currently not supported. 
  12572.  
  12573. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12574. FILE_TYPE    Field for specific file type. Set by Host.
  12575.  
  12576. File_type should be set prior to a transmit. The file_type parameter determines 
  12577. the processing necessary for the JT Fax 14400B Dual to convert data to T.4 
  12578. format. The field can have the following values:
  12579.  
  12580.     Code    Description
  12581.     -------------------------
  12582.     00H    ASCII_FORMAT
  12583.     01H    PCX _3_FORMAT
  12584.     63H     JT_Fax_FORMAT 
  12585.  
  12586. For additional information see File Formats in Chapter 7.
  12587.  
  12588. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12589. XMIT_FONT    Field for JT Fax font resolution. Set by Host.
  12590.  
  12591. Xmit_font field is only used to transmit of data. The field should be set prior to 
  12592. all transmits, and is used to select the font for ASCII and high/low resolution 
  12593. for other types of transmits. If ASCII data is being sent in any font other than 
  12594. font0 (80/low) then that font must be loaded onto the board prior to the 
  12595. transmit. If any other form of data is being sent (i.e., PCX, JT Fax) then 00H and 
  12596. 01H should be used to indicate the resolution.
  12597.  
  12598.     Code    Description
  12599.     ----------------------------------------------
  12600.     00H     80 character/line low resolution
  12601.     01H     80 character/line high resolution
  12602.     02H     132 character/line low resolution
  12603.     03H    132 character/line high resolution
  12604.  
  12605. For additional information see JT Fax Formats section Chapter 7.
  12606.  
  12607. MIN_PAGE    Field set for page minimum length. Set by Host.
  12608.  
  12609. If min_page is zero when the transmit command is issued, all pages will be 
  12610. forced to be at least 11 inches long. If MIN_PAGE is set, the number of lines in 
  12611. linecount is used.
  12612.  
  12613. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12614. BUFFER_AREA    Field for FAX ID, phone number. Set by Host, JT Fax and 
  12615. status messages.
  12616.  
  12617. Buffer_area is an area used to pass the phone number to be dialed, the header 
  12618. line to put on the top of each page, fax ID and enhanced return codes. The 
  12619. default time-out-after-dial (binary) can also be loaded into buffer_area on 
  12620. start up or can be configured by using the SET_CARRIER_COMMAND function.
  12621.  
  12622. For more information on buffer area see section Appendix E.
  12623.  
  12624. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12625. SECONDS     Field for time of phases. Set by JT Fax.
  12626.  
  12627. Seconds is a timer that resets to zero at the start of a call or answer and again 
  12628. after receiving the first carrier from the other end (to get a true connection 
  12629. time). The host has the option to reset the timer.
  12630.  
  12631. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12632. SPEAKER     Field for speaker control. Set by Host.
  12633.  
  12634. The Speaker byte controls operation of the speaker as follows:
  12635.  
  12636.     Code    Description
  12637.     ---------------------
  12638.     00H     SPKR_ALWAYS_ON
  12639.     01H     SPKR_ON_TILL_CONNECT
  12640.     02H     SPKR_ALWAYS_OFF
  12641.  
  12642. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12643. RET_CODE     Field for errors and JT Fax 9600B status. Set by JT Fax.
  12644.  
  12645. Ret_code is the error return code from a fax operation. For compatibility, the 
  12646. two 9600B status codes are returned in this field. The values are:
  12647.  
  12648.     Code    Description
  12649.     -----------------------------
  12650.     0    Successful Transmit
  12651.     1    No Dial Tone
  12652.     2    No Carrier
  12653.     3    Busy
  12654.     7    Clipped
  12655.  
  12656. The Handshaking/Compatibility return codes are:
  12657.  
  12658.     Code    Description
  12659.     -------------------------------
  12660.     128    Bad DIS REC
  12661.     129    Bad Training
  12662.     130    Phase B Error
  12663.     131    Bad MPS Response
  12664.     132    Bad MCF Response
  12665.     133    Bad DSC Response
  12666.     134    Phase D Error
  12667.     135    No PC Acknowledge
  12668.     136    No Data Received
  12669.     137    Page Error on Receive
  12670.     138     Successful Receive
  12671.  
  12672. Other Return Codes are described in Appendix B.
  12673.  
  12674. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12675. PAGES    Field for number of pages. Set by JT Fax.
  12676.  
  12677. Pages is a word that keeps a running count of the number of pages sent. It is 
  12678. updated during transmission and reception.
  12679.  
  12680. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12681. DATA_LEN     Field for number of bytes in DATA_AREA Set by Host and JT Fax.
  12682.  
  12683. Fax Data_len is a word that holds the number of data bytes valid in the 
  12684. data_area. It must be loaded prior to a load_data command.
  12685.  
  12686. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12687. BAUD_RATE     Field for connect speed. Set by Host and JT Fax.
  12688.  
  12689. Baud_rate is a byte that shows the connection speed. At the start of each 
  12690. transmission it defaults to 14400 BPS. For compatibility, the receive defaults to 
  12691. 9600 BPS. 14400 BPS receive can be obtained by issuing the FAX_144_MODE_ON 
  12692. API. The BAUD_RATE field has the following values:
  12693.  
  12694.     Code    Description
  12695.     ---------------------
  12696.     00H    2400 BPS
  12697.     01H    4800 BPS
  12698.     02H    7200 BPS
  12699.     03H    9600 BPS
  12700.     04H     12000 BPS
  12701.     05H    14400 BPS 
  12702.  
  12703. The baud rate may be monitored for correct connect speed.
  12704.  
  12705. Note: This rate may also be modified by the host for transmit speed.
  12706.  
  12707. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12708. RESET_BOARD    Field for reset. Set by Host.
  12709.  
  12710. This byte is used to reset the board after an error, or it can be done on exit to 
  12711. set the board to a known state. The API HARDWARE_RESET_COMMAND in this 
  12712. byte causes a full reset of the board, including memory testing and clearing 
  12713. and can take 5-6 seconds to complete. 
  12714.  
  12715. The API SOFTWARE_RESET_COMMAND causes a partial reset and does not clear 
  12716. memory. It disconnects the phone line and returns to command state.
  12717.  
  12718. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12719. STATUS_CODE    Field for enhanced status. Set by JT Fax.
  12720.  
  12721. The status code field provides additional status for Fax transmission.
  12722.  
  12723. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12724. LINE_COUNT    Field for number lines. Set by Host.
  12725.  
  12726. Line_count is a byte that gives the number of lines to put on the page before a 
  12727. page break. The function is only applicable when MIN_PAGE  is set to 0 and 
  12728. during ASCII transmits.
  12729.  
  12730. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12731. RECV_FILE_TYPE    Field used to indicate the type of file. Set by Host.
  12732.  
  12733. The values are:
  12734.  
  12735.     Code    Description
  12736.     -------------------------
  12737.     01H    PCX_3_FORMAT
  12738.     63H    JT_FAX_FORMAT
  12739.  
  12740. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12741. RECV_LINE    Field used to indicate the number of PCX lines recieved. Set by JT 
  12742. Fax.
  12743.  
  12744. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12745. DATA_AREA    Field for data transfer. Set by Host.
  12746.  
  12747. This is the area used to buffer data out to the board. It is 1960 bytes long.
  12748.  
  12749.  
  12750. ==========================================================================
  12751. Chapter 7
  12752. File Formats
  12753.  
  12754.  
  12755. This chapter describes the JT Fax file conversion formats. These formats 
  12756. include:
  12757.  
  12758. Ñ    PCX
  12759. Ñ    ASCII
  12760. Ñ    JT Fax.
  12761.  
  12762.  
  12763. *****************************************************************************
  12764. PCX Conversion
  12765. The PCX conversion supplied with JT Fax 14400B Dual is a receive "on-the-
  12766. fly" conversion at all speeds supported. The data presented to the Host 
  12767. includes a PCX 3 header and data. All data is in black and white, 1-plane, 1 
  12768. bit-per-pixel, xmax (horizontal axis) = 1727; color is not supported.
  12769.  
  12770. Additional fields are provided for the PCX receive. These new fields are 
  12771. receive type (BYTE) at offset 55H and receive_lines at offset 56H (WORD).
  12772.  
  12773. The following commands pertain to PCX conversion:
  12774.  
  12775.     REC_PCX_ON_COMMAND
  12776.     REC_PCX_OFF_COMMAND (default)
  12777.  
  12778. The length of the PCX file (in lines) is reported in the new variable named 
  12779. RECV_LINES and is correct when the EOT is received from the fax. The 
  12780. RECV_LINES count should be placed in the PCX file by the Host. The offset into 
  12781. the PCX file for this count is 10 (zero relative) and is WORD value. The 
  12782. PCX_RECV_ON_COMMAND must be issued after setting Recvfile type to PCX.
  12783.  
  12784.  
  12785. **************************************************************************
  12786. ASCII
  12787. The following sections describe ASCII font management in JT Fax.
  12788.  
  12789. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12790. Fonts
  12791. The JT Fax 14400B Dual board gives the user the flexibility of 4 different 
  12792. fonts. These fonts are identified as font.0, font.1, font.2, and font.3. Font.0 
  12793. is the default font and Fonts 0-3 are available as user defined fonts. The 
  12794. fonts are designed in two resolutions, low and high resolution. Low resolution 
  12795. is defined as an 18-bit by 16-row character cell. High resolution is defined 
  12796. by a 18-bit by 32-row character cell. All fonts are available in the JT FAX 
  12797. software toolkit under the files font.0, font.1, font.2, and font.3. Contact 
  12798. Hayes Customer Service, see Appendix I.
  12799.  
  12800. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12801. Mode
  12802. There are two different modes for resolution, normal mode and compressed 
  12803. mode. In normal mode the character cell consists of 18 bits per character 
  12804. cell line. Normal mode is the default mode for the default font used by JT 
  12805. Fax. The JT Fax compressed mode consists of a character cell that is 13 
  12806. bits-per-character line. Both modes support 80 and 132 columns. 
  12807.  
  12808. Below is a list of these fonts with their corresponding resolution.
  12809.  
  12810. Font            Name        Resolution
  12811. -----------------------------------------------------------
  12812. Low res         faxfont.0    200x100 80 columns
  12813. normal mode            <default>
  12814. High res         faxfont.1    200x200 132 columns
  12815. normal mode
  12816. Low res         faxfont.2    200x100 80 columns
  12817. compressed
  12818. High res        faxfont.3    200x200 132 columns
  12819. compressed
  12820.  
  12821. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12822. Font Modifications
  12823. To modify these fonts, the programmer can execute the font generation 
  12824. program, fontcon.com. This program can be downloaded in the file 
  12825. faxfont.arc (contact Hayes Customer Service, see Appendix I). If the user 
  12826. wishes to create a custom font file without the use of the fontcon.com 
  12827. program, the fonts must be bit mapped as explained in the following 
  12828. paragraphs.
  12829.  
  12830. The bit map is arranged in a "pixel line" format. The character must be 
  12831. converted into a bit-format byte aligned. Character tables start with the 
  12832. ASCII character for a space " " and end with an ASCII character for a "~". 
  12833. The character is assembled into a 4x16 byte matrix in low resolution and a 
  12834. 4x32 byte matrix for high resolution. All parts of the character cell must be 
  12835. represented.
  12836.  
  12837. In lower case characters, the additional white space above the character 
  12838. must be included. For example, the lower case ASCII 'a' has several lines of 
  12839. white space above the 'a'. This must be included.
  12840.  
  12841. Within each matrix cell, the font character is defined by 4 bytes per line by:
  12842.  
  12843.     low resolution = 18 bits < 22 bits unused >
  12844.     high resolution = 13 bits < 27 bits unused >.
  12845.  
  12846. All unused bits are ignored and are set to a 0xff.
  12847.  
  12848. For example, a '!' in low-resolution normal mode 4x16 80-column, with a bit 
  12849. set for white would be as follows:
  12850.  
  12851. Row    Bitmap                Row    Bitmap
  12852. --------------------------------------------------------------------------------
  12853. 1    0xff, 0xff, 0xc0, 0xff (top space)    9    0xff, 0xf9, 0xc0, 0xff (char)
  12854. 2    0xff, 0xf0, 0xc0, 0xff (char)    10    0xff, 0xff, 0xc0, 0xff (char)
  12855. 3    0xff, 0xf0, 0xc0, 0xff (char)    11    0xff, 0xff, 0xc0, 0xff (char)
  12856. 4    0xff, 0xf0, 0xc0, 0xff (char)    12    0xff, 0xf9, 0xc0, 0xff (char)
  12857. 5    0xff, 0xf0, 0xc0, 0xff (char)    13    0xff, 0xff, 0xc0, 0xff (space)
  12858. 6    0xff, 0xf0, 0xc0, 0xff (char)    14    0xff, 0xff, 0xc0, 0xff (space)
  12859. 7    0xff, 0xf0, 0xc0, 0xff (char)    15    0xff, 0xff, 0xc0, 0xff (space)
  12860. 8    0xff, 0xf9, 0xc0, 0xff (char)    16    0xff, 0xff, 0xc0, 0xff (space)
  12861.  
  12862. The JT Fax font generation software offers the user the ability to create or 
  12863. modify the ASCII coded fonts used by the JT Fax products. The user will need 
  12864. to download FAXFONT.ARC and FONT.ARC from the HAYES BBS (see Appendix 
  12865. I).
  12866.  
  12867. For development purposes, the programmer is advised to create a font sub-
  12868. directory containing four sub-directories (one for each font), and copy the 
  12869. proper files into each sub-directory as follows:
  12870.  
  12871. Directory    Contents
  12872. ---------------------------------------------------------------
  12873. Font        All directories below.
  12874. Font 0    Low resolution normal 80 columns. Include
  12875.         FONT0.EXE, FONTSCRN, and FAXFONT.0.
  12876. Font 1    High resolution normal 80 columns. Include
  12877.         FONT1.EXE, FONTSCRN, and FAXFONT.1.
  12878. Font 2    Low resolution compressed 132 columns.
  12879.         Include FONT2.EXE, FONTSCRN, and FAXFONT.2.
  12880. Font 3    High resolution compressed 132 columns.
  12881.         Include FONT3.EXE, FONTSCRN, and FAXFONT.3.
  12882.  
  12883. To use the graphics editor, move to a font sub-directory, and type 
  12884. FONTX.EXE, where X is the font number to modify. The editor then appears, 
  12885. along with some instructions.
  12886.  
  12887.     EXAMPLE: C:/font/2
  12888.     followed by: font2
  12889.  
  12890. This example illustrates the suggested sub-directory structure and the 
  12891. procedure for editing font2 (low resolution compressed). The FONTSCRN file
  12892. is a graphic overlay for the font editor.
  12893.  
  12894. When the "Which character to edit" prompt is displayed, you may enter a 
  12895. keyboard character. To enter a non-keyboard character, find its ASCII code, 
  12896. hold down the <alt> key and enter the ASCII code with the numeric keypad.
  12897.  
  12898. To move about in the font field, use the cursor control keys. The instructions 
  12899. appearing on the screen guide you to edit a font. When the font is complete, 
  12900. enter <F1> to save it. The high resolution fonts allow editing the top and bottom 
  12901. half of each pixel in the font field. In the high resolution fonts, use T and B to 
  12902. paint or delete the Top or Bottom of a font element. As a font is modified, a 
  12903. FAXFONT.TMP file is created.
  12904.  
  12905. FONTCON.COM is then converts the FAXFONT.TMP file into the format used 
  12906. by the JT FAX software. The syntax is:
  12907.  
  12908.     FONTCON FAXFONT.TMP FAXFONT.X
  12909.  
  12910. The FAXFONT.X is the new file you created, and is now ready to be copied 
  12911. into your FAX directory for testing.
  12912.  
  12913.     EXAMPLE: c:\font\2> fontcon faxfont.tmp faxfont.2
  12914.  
  12915. The example converts the FAXFONT.TMP from sub-directory FONT2 and 
  12916. converts it to FAXFONT.2.
  12917.  
  12918. Font generation may require several iterations of some character. This is 
  12919. normal, as fonts displayed on a CRT appear different than when received on a 
  12920. Fax machine.
  12921.  
  12922. Note: Only one soft font can be downloaded. This is the font used by the Fax. Only 
  12923. one soft font at any given time can be downloaded and used. Soft Font cannot be 
  12924. used with the OEM_CODE command.
  12925.  
  12926.  
  12927. **************************************************************************
  12928. JT Fax Format
  12929. The JT Fax file format is based on a modified Huffman coding used in Group 3 
  12930. facsimile preceded by an eight byte header. The Huffman coding schema is in Appendix A.)
  12931. The header format is as follows:
  12932.  
  12933.     Offset        Explanation
  12934.     ---------------------------------------------------------------
  12935.     0         A zero byte
  12936.     1        Either 0 or 40H. If the 40H bit is set, then the file is a
  12937.             high resolution (200x200) file.
  12938.     2        reserved
  12939.     3        reserved
  12940.     4        reserved
  12941.     5        reserved
  12942.     6        reserved
  12943.     7        reserved
  12944.  
  12945. The Huffman data format is a data compression method based on run length 
  12946. encoding. One hundred and twenty-eight run lengths (64 white and 64 black), 
  12947. thirteen make-up codes, and an end-of-line (EOL) are defined by the ITU-T. 
  12948. These codes are available in Appendix A.
  12949.  
  12950. The JT Fax only supports files of 1728 pixels per line, the only required 
  12951. format for a Group 3 fax machine. The EOL command is used to end every line 
  12952. in a fax-format file.
  12953.  
  12954. It consists of 11 zero bits and a one bit. Additional zero bits, or fill bits, can 
  12955. be inserted prior to the EOL command. Although some JT Fax files use fill 
  12956. bits so that each line of fax data begins on a byte boundary, inclusion of fill 
  12957. bits is not necessary for any JT Fax family product.
  12958.  
  12959. The JT Fax file is organized as follows:
  12960.  
  12961.     Eight byte header
  12962.     EOL
  12963.     Huffman compressed line
  12964.     EOL
  12965.     Huffman compressed line
  12966.     EOL
  12967.         .
  12968.         .
  12969.         .
  12970.     Huffman compressed line
  12971.     EOL
  12972.  
  12973. Huffman compressed lines are generated using the tables in Appendix A. 
  12974. Huffman compression assumes that every line begins with a white run length, 
  12975. alternates to a black, back to white, up to an EOL. If a run length is greater 
  12976. than 63, then a make-up code is used. A make-up code is always followed by 
  12977. a run length of the same color, even if the length is zero. The Huffman codes 
  12978. are sent left-bit first (as seen in the table), but must be assembled so that 
  12979. the low-order bit in each byte is the first to send. The following example 
  12980. demonstrates this process:
  12981.  
  12982. Assume the input line of data is:
  12983.  
  12984.     30 white, 10 black, 130 white, 192 black, 1366 white
  12985.  
  12986. From the table in Appendix A:
  12987.  
  12988.     30 white = 00000011 
  12989.     10 black = 0000100
  12990.     130 white = 128 white = 10010 (make up-code) + 2 white = 0111
  12991.     192 black = 192 black = 010111(make-up code) + 0 black = 0000110111
  12992.     1366 white = 1344 white = 011011010 (make-up code) + 22 white = 
  12993. 0000011
  12994.     EOL = 000000000001
  12995.  
  12996. Put the bits in a stream:
  12997.  
  12998.     00000011000010010010011101011100001101110110110100000011
  12999.     000000000001
  13000.  
  13001. Break them out, eight bits at a time:
  13002.  
  13003.     00000011-00001001-00100111-01011100-00110111-01101101-
  13004.     00000011-00000000-0001
  13005.  
  13006. Reverse the bit-order:
  13007.  
  13008.     11000000-10010000-11100100-00111010-11101100-10110110-
  13009.     11000000-00000000-xxxx1000
  13010.  
  13011. The xxxx could be the first four bits from the next Huffman stream of data, 
  13012. or four additional 0s could be inserted on the other side of the 1, making the 
  13013. last byte 10000000. The final hex code for this line is:
  13014.  
  13015.     C0 90 E4 3A EC B6 C0 00 80
  13016.  
  13017.  
  13018. ==========================================================================
  13019. Appendix A
  13020. ITU-T T.4 Huffman Encoding
  13021.  
  13022.  
  13023. This appendix defines the T.4 Huffman encoding used in JT Fax.
  13024.  
  13025. Run 
  13026. Length    White Code        Black Code
  13027. ------------------------------------------------
  13028. 0000        00110101        0000110111
  13029. 0001        000111        010
  13030. 0002        0111            11
  13031. 0003        1000            10
  13032. 0004        1011            011
  13033. 0005        1100            0011
  13034. 0006        1110            0010
  13035. 0007        1111            00011
  13036. 0008        10011            000101
  13037. 0009        10100            000100
  13038. 0010        00111            0000100
  13039. 0011        01000            0000101
  13040. 0012        001000        0000111
  13041. 0013        000011        00000100
  13042. 0014        110100        00000111
  13043. 0015        110101        000011000
  13044. 0016        101010        0000010111
  13045. 0017        101011        0000011000
  13046. 0018        0100111        0000001000
  13047. 0019        0001100        00001100111
  13048. 0020        0001000        00001101000
  13049. 0021        0010111        00001101100
  13050. 0022        0000011        00000110111
  13051. 0023        0000100        00000101000
  13052. 0024        0101000        00000010111
  13053. 0025        0101011        00000011000
  13054. 0026        0010011        000011001010
  13055. 0027        0100100        000011001011
  13056. 0028        0011000        000011001100
  13057. 0029        00000010        000011001101
  13058. 0030        00000011        000001101000
  13059. 0031        00011010        000001101001
  13060. 0032        00011011        000001101010
  13061. 0033        00010010        000001101011
  13062. 0034        00010011        000011010010
  13063. 0035        00010100        000011010011
  13064. 0036        00010101        000011010100
  13065. 0037        00010110        000011010101
  13066. 0038        00010111        000011010110
  13067. 0039        00101000        000011010111
  13068. 0040        00101001        000001101100
  13069. 0041        00101010        000001101101
  13070. 0042        00101011        000011011010
  13071. 0043        00101100        000011011011
  13072. 0044        00101101        000001010100
  13073. 0045        00000100        000001010101
  13074. 0046        00000101        000001010110
  13075. 0047        00001010        000001010111
  13076. 0048        00001011        000001100100
  13077. 0049        01010010        000001100101
  13078. 0050        01010011        000001010010
  13079. 0051        01010100        000001010011
  13080. 0052        01010101        000000100100
  13081. 0053        00100100        000000110111
  13082. 0054        00100101        000000111000
  13083. 0055        01011000        000000100111
  13084. 0056        01011001        000000101000
  13085. 0057        01011010        000001011000
  13086. 0058        01011011        000001011001
  13087. 0059        01001010        000000101011
  13088. 0060        01001011        000000101100
  13089. 0061        00110010        000001011010
  13090. 0062        00110011        000001100110
  13091. 0063        001101000        00001100111
  13092. 0064        11011            0000001111
  13093. 0128        10010            000011001000
  13094. 0192        010111        000011001001
  13095. 0256        0110111        000001011011
  13096. 0320        00110110        000000110011
  13097. 0384        00110111        000000110100
  13098. 0448        01100100        000000110101
  13099. 0512        01100101        000000110110
  13100. 0576        01101000        000001101101
  13101. 0640        01100111        000000100100
  13102. 0704        011001100        000000100101
  13103. 0768        011001101        000000100110
  13104. 0832        011010010        000000100111
  13105. 0896        011010011        000000111000
  13106. 0960        011010100        000000111001
  13107. 1024        011010101        000000111010
  13108. 1088        011010110        000000111011
  13109. 1152        011010111        000000111010
  13110. 1216        011011000        000000111011
  13111. 1280        011011001        000000101000
  13112. 1344        011011010        000000101001
  13113. 1408        011011011        000000101010
  13114. 1472        010011000        000000101011
  13115. 1536        010011001        000000101100
  13116. 1600        010011010        000000101101
  13117. 1664        011000        000000110010
  13118. 1728        010011011        000000110011
  13119. EOL        000000000001    000000000001
  13120.  
  13121.  
  13122. ==========================================================================
  13123. Appendix B
  13124. Return Codes
  13125.  
  13126.  
  13127. The following paragraphs describe the correct time to read the RET_CODE 
  13128. field of the JT Fax API window.
  13129.  
  13130. When the PC is finished receiving data from the JT Fax board, then the JT Fax 
  13131. issues an EOT in the Command field. The JT Fax board sends a BOARD_ACK in 
  13132. the Command field when the transmission is complete. At this time the PC 
  13133. should read the RET_CODE field of the JT Fax API window. If the command 
  13134. field changes to an error, the RET_CODE is valid.
  13135.  
  13136. Some of the errors are fatal and some are operational. Fatal errors halt 
  13137. execution with an error flag while operational errors are less severe and 
  13138. will allow the Fax operation to continue. Operational errors are read at the 
  13139. end of a receive or transmit. Once an error occurs, Buffer area [0] can be 
  13140. checked for additional return code information. If available, the byte will be 
  13141. non-zero. Also, the status field can be checked to determine the state of the 
  13142. JT Fax.
  13143.  
  13144. The following paragraphs describe the JT Fax Return Codes.
  13145.  
  13146. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13147. RETURN_CODE: 00    MNEMONIC: SUCCESSFUL_TRANSMIT
  13148.  
  13149.     DESCRIPTION: A successful transmit occurred with no errors. This is a JT Fax
  13150.     compatibility code.
  13151.  
  13152.     RECOMMENDED ACTION: Fax was good.
  13153.  
  13154. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13155. RETURN_CODE: 01    MNEMONIC: NO_DIALTONE
  13156.  
  13157.     DESCRIPTION: A dial command was issued with either a 'W' dial modifier or a wait for
  13158.     dialtone in byte 0 of the dial string. Fatal error.
  13159.  
  13160.     RECOMMENDED ACTION: Check cable connections and redial.
  13161.  
  13162. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13163. RETURN_CODE: 02    MNEMONIC: NO_CARRIER
  13164.  
  13165.     DESCRIPTION: A complete connection was not established. A NO_CARRIER error
  13166.     appears after the dial and before the Phase A completion. JT Fax compatibility. Fatal
  13167.     error.
  13168.  
  13169.     RECOMMENDED ACTION: Check phone number and retry call. Try enabling enhanced
  13170.     mode to determine the exact cause of error.
  13171.  
  13172. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13173. RETURN_CODE: 03    MNEMONIC: BUSY
  13174.  
  13175.     DESCRIPTION: The called phone number was busy or a circuit was busy. Fatal error.
  13176.  
  13177.     RECOMMENDED ACTION: Retry call.
  13178.  
  13179. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13180. RETURN_CODE: 04    MNEMONIC: PC_COMM_ERROR
  13181.  
  13182.     DESCRIPTION: Invalid response or command while in command state. Fatal error.
  13183.  
  13184.     RECOMMENDED ACTION: Check Host for problems.
  13185.  
  13186. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13187. RETURN_CODE: 07    MNEMONIC: CLIP
  13188.  
  13189.     DESCRIPTION: An ASCII file was converted to T.4 data and a line was longer than 216
  13190.     bytes (including spaces and tabs). This error only occurs during a FILETYPE - ASCII
  13191.     conversion during transmit. The error does not cause an abort to the transmit.
  13192.     Operational error.
  13193.  
  13194.     RECOMMENDED ACTION: Continue with fax or terminate call with a SOFT_RESET.
  13195.     Modify file before retransmitting.
  13196.  
  13197. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13198. RETURN_CODE: 10    MNEMONIC: DIALING_ERROR
  13199.  
  13200.     DESCRIPTION: A dial command was issued and one of the characters in the dial string
  13201.     was invalid. Fatal error.
  13202.  
  13203.     RECOMMENDED ACTION: Check dial string and redial.
  13204.  
  13205. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13206. RETURN_CODE: 12    MNEMONIC: FONT_TOO_LARGE
  13207.  
  13208.     DESCRIPTION: The soft font file was too large for the soft font area. This error could
  13209.     also apply to the OEM code load. Fatal error.
  13210.  
  13211.     RECOMMENDED ACTION: Shorten soft font and retry.
  13212.  
  13213. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13214. RETURN_CODE: 19    MNEMONIC: TRANSMIT_PAGE_ERROR
  13215.  
  13216.     DESCRIPTION: Transmit page was not received correctly. Operational error.
  13217.  
  13218.     RECOMMENDED ACTION: Retry call. Check remote fax machine and/or telephone line..
  13219.  
  13220. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13221. RETURN_CODE: 20    MNEMONIC: PHASE_A_ERROR
  13222.  
  13223.     DESCRIPTION: The transmitted Fax was not received correctly. Operational error
  13224.  
  13225.     RECOMMENDED ACTION: Retry call. Call Hayes Customer Service.
  13226.  
  13227. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13228. RETURN_CODE: 21    MNEMONIC: NO_CNG_ERROR
  13229.  
  13230.     DESCRIPTION: No 1100 Hz CNG tone was detected from the Caller. If CNG detect is
  13231.     enabled this informs the user that a CNG was not detected. If CNG detect is not
  13232.     enabled then this error will not occur. Operational error.
  13233.  
  13234.     RECOMMENDED ACTION: Hang up the Fax call and use a voice connection.
  13235.  
  13236. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13237. RETURN_CODE: 30    MNEMONIC: PHASE_C_ERROR
  13238.  
  13239.     DESCRIPTION: This a general error for Phase C. Operational error.
  13240.  
  13241.     RECOMMENDED ACTION: Retry Call. Call Hayes Customer Support.
  13242.  
  13243. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13244. RETURN_CODE: 32    MNEMONIC: MAX_FRAME_ERR
  13245.  
  13246.     DESCRIPTION: The FAX handshake frame was too large for the JT Fax buffers. This is
  13247.     usually caused by a noisy line. Fatal error.
  13248.  
  13249.     RECOMMENDED ACTION: Check line and redial.
  13250.  
  13251. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13252. RETURN_CODE: 35    MNEMONIC: LONG_LINE_ERROR
  13253.  
  13254.     DESCRIPTION: An error occurred in the reception of data. A line was received and
  13255.     decoded as being to long. This only occurs if the line is noisy.
  13256.  
  13257.     RECOMMENDED ACTION: Check phone line and redial.
  13258.  
  13259. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13260. RETURN_CODE: 36    MNEMONIC: PERCENTAGE_ERROR
  13261.  
  13262.     DESCRIPTION: Percentage of data errors on receive versus the amount of correctly
  13263.     received data. Operational error.
  13264.  
  13265.     RECOMMENDED ACTION: Check line for connection or noise.
  13266.  
  13267. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13268. RETURN_CODE: 40    MNEMONIC: PHASE_D_ERROR
  13269.  
  13270.     DESCRIPTION: A response from the remote machine was not received after transmit
  13271.     during the required time. Operational error.
  13272.  
  13273.     RECOMMENDED ACTION: Check line for connection or noise.
  13274.  
  13275. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13276. RETURN_CODE: 60    MNEMONIC: DTMF_ERROR
  13277.  
  13278.     DESCRIPTION: A valid DTMF signal was not received. Operational error.
  13279.  
  13280.     RECOMMENDED ACTION: Check connection.
  13281.  
  13282. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13283. RETURN_CODE: 61    MNEMONIC: NO_DTMF_TIMEOUT_ERROR
  13284.  
  13285.     DESCRIPTION: A manual DTMF command was issued. The activity timer expired with no
  13286.     DTMF. Operational error.
  13287.  
  13288.     RECOMMENDED ACTION: Check connection and line noise.
  13289.  
  13290. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13291. RETURN_CODE: 62    MNEMONIC: VOICE_ERROR
  13292.  
  13293.     DESCRIPTION: An error occurred during the operation of a voice command. Fatal 
  13294.     error.
  13295.  
  13296.     RECOMMENDED ACTION: Retry voice operation.
  13297.  
  13298. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13299. RETURN_CODE: 122    MNEMONIC: HDLC_MIN_SIZE_ERROR
  13300.  
  13301.     DESCRIPTION: The HDLC frame of the T.30 handshake was shorter than expected.
  13302.     Invalid frame was received. Fatal error.
  13303.  
  13304.     RECOMMENDED ACTION: Check remote Fax.
  13305.  
  13306. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13307. RETURN_CODE: 123    MNEMONIC: HDLC_CRC_ERROR
  13308.  
  13309.     DESCRIPTION: The HDLC frame of the T.30 handshake did not have a good CRC. Fatal
  13310.     error.
  13311.  
  13312.     RECOMMENDED ACTION: Check line for noise and check remote fax. Retry call.
  13313.  
  13314. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13315. RETURN_CODE: 124    MNEMONIC: NEGOTIATING_TRAIN_DCN_ERROR
  13316.  
  13317.     DESCRIPTION: A DCN was received while the Fax was negotiating speed. Fatal error.
  13318.  
  13319.     RECOMMENDED ACTION: Check line for noise and check remote Fax. Retry call.
  13320.  
  13321. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13322. RETURN_CODE: 125    MNEMONIC: HDLC_FRAME_TIMOUT_ERROR
  13323.  
  13324.     DESCRIPTION: A time-out occurred while waiting for the HDLC T.30 handshake. Fatal
  13325.     error.
  13326.  
  13327.     RECOMMENDED ACTION: Check line for noise and check remote Fax. Retry call.
  13328.  
  13329. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13330. RETURN_CODE: 126    MNEMONIC: NO_DCS_REC
  13331.  
  13332.     DESCRIPTION: A DCS was not received from the caller. Caused by equipment
  13333.     malfunction at remote site. Fatal error.
  13334.  
  13335.     RECOMMENDED ACTION: Check remote fax and redial.
  13336.  
  13337. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13338. RETURN_CODE: 128    MNEMONIC: BAD_DIS_REC
  13339.  
  13340.     DESCRIPTION: A DIS received from the callee was in error. Possible remote equipment
  13341.     problems. Fatal error.
  13342.  
  13343.     RECOMMENDED ACTION: Check remote fax and redial.
  13344.  
  13345. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13346. RETURN_CODE: 129    MNEMONIC: BAD_TRAINING
  13347.  
  13348.     DESCRIPTION: An error occurred during the training phase of the call. Line 
  13349.     quality does not support speeds available. Fatal error.
  13350.  
  13351.     RECOMMENDED ACTION: Check remote fax, phone line and redial.
  13352.  
  13353. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13354. RETURN_CODE: 130    MNEMONIC: PHASE_B_ERROR
  13355.  
  13356.     DESCRIPTION: An error occurred during the negotiation phase of the call. This 
  13357.     could be a failure to negotiate parameters. Fatal error.
  13358.  
  13359.     RECOMMENDED ACTION: Check type of remote fax and redial.
  13360.  
  13361. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13362. RETURN_CODE: 131    MNEMONIC: BAD_MPS_RESPONSE
  13363.  
  13364.     DESCRIPTION: In Phase D the negotiation for Multiple pages was in error. 
  13365.     Operational error.
  13366.  
  13367.     RECOMMENDED ACTION: Check remote fax and redial.
  13368.  
  13369. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13370. RETURN_CODE: 132    MNEMONIC: BAD_MCF_RESPONSE
  13371.  
  13372.     DESCRIPTION: A message confirmation after training did not occur. Fatal error.
  13373.  
  13374.     RECOMMENDED ACTION: Check remote fax and redial.
  13375.  
  13376. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13377. RETURN_CODE: 133    MNEMONIC: BAD_DCS_RESPONSE
  13378.  
  13379.     DESCRIPTION: A bad response from the DCS message caused this error. Fatal error.
  13380.  
  13381.     RECOMMENDED ACTION: Check remote fax and redial.
  13382.  
  13383. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13384. RETURN_CODE: 134    MNEMONIC: PHASE_D_ERROR
  13385.  
  13386.     DESCRIPTION: An error occurred during the operation of a voice command. 
  13387.     Fatal error.
  13388.  
  13389.     RECOMMENDED ACTION: Check phone line and redial.
  13390.  
  13391. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13392. RETURN_CODE: 135    MNEMONIC: NO_PC_ACK
  13393.  
  13394.     DESCRIPTION: A PC_ACK was not received in response to the LOAD_DATA_COMMAND.
  13395.     A 5 sec time-out error to the host. Operational error.
  13396.  
  13397.     RECOMMENDED ACTION: Fax may have errors.
  13398.  
  13399. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13400. RETURN_CODE: 136    MNEMONIC: NO_DATA_RECEIVED
  13401.  
  13402.     DESCRIPTION: No data was received from the remote fax. Caused by a line drop or the
  13403.     remote fax abnormally terminated the call.
  13404.  
  13405.     RECOMMENDED ACTION: Check phone line.
  13406.  
  13407. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13408. RETURN_CODE: 137    MNEMONIC: PAGE_ERROR 
  13409.  
  13410.     DESCRIPTION: Page data was received in error from the remote fax. 
  13411.  
  13412.     RECOMMENDED ACTION: Check phone line.
  13413.  
  13414. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13415. RETURN_CODE: 138    MNEMONIC: SUCCESSFUL_RECEIVE
  13416.  
  13417.     DESCRIPTION: Fax was received successfully.
  13418.  
  13419.     RECOMMENDED ACTION: Ready for next fax transaction.
  13420.  
  13421. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13422. RETURN_CODE: 243    MNEMONIC: ROCK_ERROR
  13423.  
  13424.     DESCRIPTION: This error indicates that the Rockwell chip is not responding. 
  13425.     Operational error.
  13426.  
  13427.     RECOMMENDED ACTION: Turn off power and reinstall the board. If this does not
  13428.     correct the problem, contact Hayes Customer Service.
  13429.  
  13430.  
  13431. ==========================================================================
  13432. Appendix C
  13433. Status Codes
  13434.  
  13435.  
  13436. Status codes do not require a response from the Host. The code will reflect 
  13437. the state of the JT Fax 14400B Dual. It is not necessary to issue a PC_ACK 
  13438. command when receiving the status notification. However, the IDLE command 
  13439. in the Status Code field is recommended because it incorporates a more 
  13440. fault-tolerant coding algorithm. Status codes may be used to provide 
  13441. additional information during a fax call procedure.
  13442.  
  13443. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13444. STATUS CODE: 01    MNEMONIC: RING
  13445.  
  13446.     DESCRIPTION: A ring was detected during the dialing of number.
  13447.  
  13448. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13449. STATUS CODE: 02    MNEMONIC: SUBSCRIBER_INFO
  13450.  
  13451.     DESCRIPTION: CSI/TSI info is available in the buffer area.
  13452.  
  13453. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13454. STATUS CODE: 0E    MNEMONIC: PHASE_E_START
  13455.  
  13456.     DESCRIPTION: Start of T.30 Phase E.
  13457.  
  13458. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13459. STATUS CODE: 10    MNEMONIC: PHASE_A_START
  13460.  
  13461.     DESCRIPTION: Phase A begins call establishment.
  13462.  
  13463. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13464. STATUS CODE: 11    MNEMONIC: PHASE_B_START
  13465.  
  13466.     DESCRIPTION: Phase B starts the initial negotiation of speed and format.
  13467.  
  13468. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13469. STATUS CODE: 12    MNEMONIC: PHASE_C_START
  13470.  
  13471.     DESCRIPTION: Start of Phase C for fax transmission.
  13472.  
  13473. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13474. STATUS CODE: 13    MNEMONIC: PHASE_D_START
  13475.  
  13476.     DESCRIPTION: Start of Phase D and post message handling.
  13477.  
  13478. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13479. STATUS CODE: 20    MNEMONIC: NEGOTIATING_SPEED
  13480.  
  13481.     DESCRIPTION: Speed negotiation is occurring during Phase B.
  13482.  
  13483. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13484. STATUS CODE: 21    MNEMONIC: CONNECT
  13485.  
  13486.     DESCRIPTION: Indicates that all handshaking is complete and fax data will be
  13487. transmitted.
  13488.  
  13489. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13490. STATUS CODE: 22    MNEMONIC: VOICE_MODE
  13491.  
  13492.     DESCRIPTION: Notification of automatic voice mode is entered.
  13493.  
  13494.  
  13495. ==========================================================================
  13496. Appendix D
  13497. T.30 Phase Descriptions
  13498.  
  13499.  
  13500. Fax communication occurs in phases. As defined by the ITU-T the phases 
  13501. are:
  13502.  
  13503. ----------------------------------------
  13504. Phase A    Call Establishment
  13505. Phase B    Pre-message Procedure
  13506. Phase C    In-message Procedure
  13507. Phase D    Post Message Procedure
  13508. Phase E    Call Release
  13509.  
  13510. The following sections describe the phases as they relate to the JT Fax 
  13511. 14400B Dual in the default configuration.
  13512.  
  13513.  
  13514. **************************************************************************
  13515. Phase A
  13516. The calling fax (caller) goes "off hook" and listens for dialtone. After 
  13517. dialtone has been detected, dialing the phone number starts. The dialing call 
  13518. progress includes the detection of the ring and busy signals. In addition to the 
  13519. call progress, the T.30 1100-Hz CNG tone is transmitted with a cycle time 
  13520. of 0.5 seconds on and 3 seconds off. Transmission of the CNG cycle continues 
  13521. until the receiving fax (callee) transmits a T.30 2100 Hz CED. Once the CED 
  13522. is detected, the caller waits for a silent period. The silent period terminates 
  13523. Phase A for the caller.
  13524.  
  13525. The callee detects a "ring" signal and goes to off-hook. 1.8 
  13526. seconds after going "off hook", the callee transmits the 2100-Hz CED for 2.8 
  13527. seconds. The ending of the CED terminates Phase A for the callee.
  13528.  
  13529.  
  13530. **************************************************************************
  13531. Phase B
  13532. After a silent period of 75 milliseconds the receiver transmits a CSI, NSF and a 
  13533. DIS frame. The DIS frame contains the negotiating parameters. Once the DIS 
  13534. is transmitted, the receiver looks for a response from the caller. During a 3.5 
  13535. second time-out period, the receiver receives a DCS frame from the caller. 
  13536. Once a mode has been selected from the DCS frame, the caller transmits a 
  13537. training sequence 75 milliseconds later. If the training sequence is within 
  13538. error parameters, the receiver transmits a TCF. The TCF marks the end of 
  13539. Phase B for the receiver.
  13540.  
  13541. The caller detects a silent period and starts the pre-message handshake. The 
  13542. handshake begins with the reception of the DIS frame. After the reception of 
  13543. the DIS frame, the TSI and DCS frames are transmitted. The caller sends a 
  13544. training signal for 75 milliseconds after sending the DCS frame. The training 
  13545. signal has a duration of 1.5 seconds. If the signal was received without 
  13546. errors by the receiver, a CFR frame is received. The reception of the CFR 
  13547. frame marks the end of Phase B for the caller.
  13548.  
  13549.  
  13550. **************************************************************************
  13551. Phase C
  13552. The caller transmits the Fax message 75 milliseconds after the CFR. The 
  13553. format of the message is T.4 Huffman encoded data. A RTC sequence will be 
  13554. sent at the end of the page to signal the receiver to transition into Phase D.
  13555.  
  13556. The receiver receives the Fax message and examines the T.4 codes for errors. 
  13557. A "TIC" mark will be printed in the left most column to signify a line error. 
  13558. When a RTC is received, the receiver transitions into Phase D.
  13559.  
  13560.  
  13561. **************************************************************************
  13562. Phase D
  13563. The caller transmits one of the following:
  13564.  
  13565. Ñ    EOM
  13566. Ñ    MPS to start the procedure to re-enter Phase C
  13567. Ñ    EOP frame to proceed to Phase E. 
  13568.  
  13569. After receipt of a MCF from the receiver, the caller goes to either Phase E or 
  13570. re-enters Phase C. To re-enter Phase C, the caller transmits another train 
  13571. sequence. The caller looks for a confirmation of the retrain in the form of a 
  13572. RTP frame. Once an RTP is received, the caller re-enters Phase C. Exiting to 
  13573. Phase E requires only the reception of a MCF.
  13574.  
  13575. The receiver waits for a EOM, MPS or EOP frame. Upon receiving a MPS or EOM 
  13576. frame, the receiver transmits a MCF. After transmitting the MCF frame, the 
  13577. receiver looks for a training signal. If the signal is within error limits, the 
  13578. receiver transmits a CFR. Transmitting the CFR marks the end of Phase D and 
  13579. the receiver re-enters Phase C. If an EOP frame was received, the receiver 
  13580. transmits a MCF and proceeds to Phase E.
  13581.  
  13582.  
  13583. **************************************************************************
  13584. Phase E
  13585. The caller sends a DCN frame to the receiver and disconnects the telephone line.
  13586.  
  13587. The receiver waits for the reception of a DCN frame. After receiving a DCN, the 
  13588. receiver disconnects the telephone line.
  13589.  
  13590.  
  13591. ==========================================================================
  13592. Appendix E
  13593. Buffer Area Layout
  13594.  
  13595.  
  13596. The BUFFER_AREA is a multipurpose area used in several commands. The 
  13597. following chart defines the buffer area during different stages of a Fax 
  13598. operation.
  13599.  
  13600. Operation                Layout
  13601. --------------------------------------------------------------------------------
  13602. XMIT - TelephoneNumber        BYTE 0 - 60 used for phone number.
  13603. XMIT - Header            BYTE 0 - 19 used for TSI/CSI information
  13604.                     (optional if TSI/CSI command used)
  13605.                     Ñ    BYTE 55 used for page number;
  13606.                         followed by space
  13607.                     Ñ    BYTE 56-58 padded with spaces.
  13608.  
  13609. All other operations require the following: 
  13610.  
  13611.     BYTE         0 location
  13612.     WORD     0 - 1 location in INTEL Format
  13613.     LONG         0 - 3 location in INTEL Format
  13614.  
  13615. The buffer area is also used to transmit default CSI/TSI information. A zero 
  13616. in buffer [0] prohibits the buffer area CSI/TSI data from being transmitted.
  13617.  
  13618.  
  13619. ==========================================================================
  13620. Appendix F
  13621. OEM Code Guidelines
  13622.  
  13623. JT Fax provides a method to off-load code from the Server and run the code 
  13624. in the JT Fax while JT Fax is idle. Use the following guidelines to offload 
  13625. code: 
  13626.  
  13627. 1.    The code must be in 8088 assembly language.
  13628. 2.    Code segment must be 0H.
  13629. 3.    Stack frame and registers must be preserved.
  13630. 4.    Code size including data must not be greater than 28 KB.
  13631. 5.    The starting address for code must be 0:8800H.
  13632. 6.    Soft fonts are not available while using OEM code. 
  13633. 7.    Upon entry into OEM code the following registers contain values
  13634.  
  13635.     es:    Points to the JT Fax code segment
  13636.     ax:    Points to the OEM entry point for executing JT Fax commands
  13637.     bx:     Points to timer service routine for user timers
  13638.     cx:     Points to the OEM exit point
  13639.     ss:     Points to Stack Segment
  13640.     sp:     Points to Stack pointer.
  13641.  
  13642. 8.    Code must be in binary form.
  13643. 9.    Timer interrupts continue to run.
  13644.  
  13645.  
  13646. ==========================================================================
  13647. Appendix G
  13648. Command Codes
  13649.  
  13650.  
  13651. The following chart presents the JT Fax commands in numerical order by 
  13652. command code.
  13653.  
  13654.     Code        Command
  13655.     ---------------------------------------------
  13656.     00H         IDLE_STATUS
  13657.     01H         XMIT_COMMAND
  13658.     02H         BOARD_ACK_STATUS 
  13659.     03H         LOAD_DATA_COMMAND
  13660.     04H         LOAD_FONT_COMMAND
  13661.     05H         PC_ACK 
  13662.     06H         ERRFLAG 
  13663.     08H         EOPFLAG 
  13664.     0FH         EOTFLAG 
  13665.     10H         MANUAL_REC_COMMAND 
  13666.     10H         RECVINIT 
  13667.     20H         SET_CARRIER_COMMAND 
  13668.     21H         STATUS_COMMAND 
  13669.     22H         REC_PCX_ON_COMMAND 
  13670.     23H         REC_PCX_OFF_COMMAND 
  13671.     24H         ON_HOOK_COMMAND
  13672.     25H         OFF_HOOK_COMMAND 
  13673.     26H         FAX_MODE_COMMAND 
  13674.     27H         MODEM_MODE_COMMAND 
  13675.     28H         DTMF_ON_COMMAND
  13676.     29H         DTMF_OFF_COMMAND 
  13677.     2AH         DTMF_ON_TIME_COMMAND
  13678.     2BH         DTMF_OFF_TIME_COMMAND 
  13679.     2CH         DTMF_DIAL_COMMAND
  13680.     2DH         PULSE_DIAL_COMMAND 
  13681.     2EH         NO_BUSY_COMMAND
  13682.     2FH         BUSY_COMMAND
  13683.     30H         HARDWARE_RESET_COMMAND 
  13684.     31H         SOFTWARE_RESET_COMMAND 
  13685.     32H         PULSE_INTER_COMMAND 
  13686.     33H         RESET_DATA_PUMP
  13687.     34H         CNG_ON_COMMAND
  13688.     35H         CNG_OFF_COMMAND
  13689.     36H         CED_ON_COMMAND 
  13690.     37H         CED_OFF_COMMAND
  13691.     3AH         PULSE_BREAK_COMMAND 
  13692.     3BH         PULSE_MAKE_COMMAND 
  13693.     3EH         SPEAKER_ON_COMMAND 
  13694.     3FH         SPEAKER_OFF_COMMAND 
  13695.     4EH         EXTEND_STATUS_ON _COMMAND
  13696.     4FH         EXTEND_STATUS_OFF_COMMAND
  13697.     50H         FAX_144_MODE_ON_COMMAND
  13698.     51H         FAX_144_MODE_OFF_COMMAND
  13699.     52H         ENHANCED_MODE_ON _COMMAND
  13700.     53H         ENHANCED_MODE_OFF_COMMAND
  13701.     54H         SET_USER_TSI_COMMAND
  13702.     55H         SET_USER_CSI_COMMAND
  13703.     5FH         SETUP_VOICE_COMMAND 
  13704.     60H         CNG_DETECT_ON_COMMAND 
  13705.     61H         CNG_DETECT_OFF_COMMAND 
  13706.     62H         PLAY_START_COMMAND 
  13707.     63H         PLAY_END_COMMAND 
  13708.     64H         REC_START_COMMAND
  13709.     65H         REC_STOP_COMMAND 
  13710.     66H         EOVFLAG
  13711.     67H         GAIN_UP_COMMAND
  13712.     68H         GAIN_DOWN_COMMAND
  13713.     69H         SET_GAIN_COMMAND 
  13714.     6AH         SET_SAMPLE_RATE_COMMAND
  13715.     6BH         SET_SLEW_RATE_COMMAND 
  13716.     6CH         SILENCE_DETECTED_STATUS
  13717.     6FH         SET_ACT_TIMER_COMMAND 
  13718.     70H         DTMF_DETECT_STATUS 
  13719.     71H         RETURN_TO_DATA_COMMAND 
  13720.     72H         RETURN_TO_COMMAND
  13721.     73H         DTMF_DETECT_ON_COMMAND 
  13722.     74H         DTMF_DETECT_OFF_COMMAND
  13723.     75H         GET_DTMF_COMMAND 
  13724.     76H         EODFLAG
  13725.     77H        ONLINE_VOICE_REC_ON_COMMAND
  13726.     78H        ONLINE_VOICE_REC_OFF_COMMAND
  13727.     79H         OEM_CODE_COMMAND 
  13728.     7AH         OEM_LOAD_COMMAND 
  13729.     0F0H         GOOD_INIT
  13730.     0F1H         BAD_RAM 
  13731.     0F2H         BAD_ROM
  13732.     0FFH        BOARD_SYNC_COMMAND
  13733.  
  13734.  
  13735. ==========================================================================
  13736. Appendix H
  13737. References
  13738.  
  13739.  
  13740. CCITT Blue Book, Volume VII - Facscicle VII.3, "Terminal Equipment and Protocols for
  13741.  Telematic Services", Recommendations T.0-T.63, IXth Plenary Assembly, Melbourne, 
  13742. November 14-25,1988.
  13743.  
  13744. Rockwell R144EFX bps MONOFAX Modem Designers Guide, Document No. 29800N46, 
  13745. November 1990.
  13746.  
  13747. FAX, "Digital Facsimile Technology and Applications", McConnell, Bodson and Schaphorst, 
  13748. Second Edition, Artech House, Norwood, MA, 1992.
  13749.  
  13750.  
  13751. ==========================================================================
  13752. Appendix I
  13753. Hayes Customer Service
  13754.  
  13755.  
  13756. To obtain Warranty/Guarantee Service, call or write to the appropriate Hayes Customer Service 
  13757. location listed below for a return authorization number, and then return the product to that location 
  13758. along with (a) the return authorization number, (b) proof of date of purchase, and (c) your mailing 
  13759. address and telephone number, postage prepaid.
  13760.  
  13761. Please note that if the product is returned without proof of purchase or after the expiration of the 
  13762. warranty/guarantee coverage period, Hayes will, at its option, repair or replace the product and charge 
  13763. you the then effective Hayes price for out-of-warranty/guarantee service of the product, unless Hayes 
  13764. has discontinued the manufacture or distribution of the product because of technical obsolescence.
  13765.  
  13766. Americas Region    Hayes Microcomputer Products, Inc.
  13767. Attention: Customer Service
  13768. P.O. Box 105203
  13769. Atlanta, Georgia 30348-5203
  13770. Telephone: (404) 441-1617 Telefax: (404) 449-0087
  13771. Telex: 703500 HAYES USA
  13772. Online with Hayes BBS: (404) HI-MODEM or (800) US-HAYES and
  13773. Hayes forums on CompuServe (GO HAYES) and GEnie information
  13774. services.
  13775.  
  13776. Note: If the carrier requires a street address, direct returns to the following address:
  13777.  
  13778. Hayes Microcomputer Products, Inc.
  13779. Attention: Customer Service
  13780. 5953 Peachtree Industrial Blvd.
  13781. Norcross, Georgia 30092
  13782.  
  13783. Asia Region    Hayes Microcomputer Products, Inc.
  13784. 39/F, Unit B, Manulife Tower
  13785. 169 Electric Road, North Point, Hong Kong
  13786. Telephone + 852 887-1037, Telefax + 852 887-7548
  13787. Telex: 69381 HAYES HX
  13788. Online with Hayes BBS: + 852 887-7590
  13789.  
  13790. Note: This version of the "JT Fax 14400B Dual Application Developer's Guide" is a
  13791. special version edited for bulletin-board downloading. As a plain ASCII
  13792. character file, it therefore cannot contain any of the graphic elements
  13793.  provided in the printed version.
  13794.  
  13795. The following graphic characters are used to denote the start of Chapters,
  13796. 1st Level Headings, 2nd Level Headings, and Table Headings:
  13797.  
  13798. Chapter Headings are preceded by:
  13799. ==========================================================================
  13800.  
  13801. 1st Level Headings are preceded by:
  13802. **************************************************************************
  13803.  
  13804. 2nd Level Headings are preceded by:
  13805. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  13806.  
  13807. Table Headings are separated from table listings by:
  13808. -----------------------------------------------------------------------------
  13809.  
  13810. =============================================================================
  13811. CHANGE RECORD:
  13812.  
  13813.         Original
  13814.  
  13815.  
  13816. ==========================================================================
  13817. Chapter 1
  13818. Introduction
  13819.  
  13820.  
  13821. The Hayes JT Fax 14400B Dual is a board level Fax product developed specially 
  13822. for "high end" server environments where throughput is a major concern. 
  13823. The JT Fax 14400B Dual contains two independent 14.4 KBPS Group 3-compatible 
  13824. fax modems, providing an interface directly to the PC ISA bus. Both fax modems 
  13825. interface to the host software at the speed of the ISA bus specification (i.e., 4-8 
  13826. MHz). Data transfer between JT Fax and the host software can occur at the 
  13827. MBPS rate. In comparison, most serial based facsimile units can only transfer 
  13828. data in the KBPS range. Considering speed alone, the JT Fax 14400B Dual is ideal 
  13829. for server applications. 
  13830.  
  13831. Additional functionality is added to decrease the burden on the application 
  13832. software and thus the host computer. These features include:
  13833.  
  13834. Ñ    automatic T.4 encoding and T.30 handshakes
  13835. Ñ    receive Fax real time T.4 to PCX type 3 conversion
  13836. Ñ    Fax speeds of 2400 to 14400 BPS
  13837. Ñ    digital voice transmit and receive record/playback
  13838. Ñ    DTMF transmit and detection.
  13839.  
  13840. The JT Fax 14400B Dual is designed with a simple high-speed interface. The 
  13841. interface does not require that the application developer know T.4 encoding or 
  13842. T.30 handshake protocols for ITU-T (formerly CCITT) Group 3 facsimiles. The 
  13843. JT Fax 14400B Dual is capable of performing all the encoding and decoding 
  13844. required to complete a fax call. However, if the application developer is 
  13845. comfortable with the encoding and decoding of the T.4 formatted data, the JT 
  13846. Fax 14400B Dual is versatile enough to handle this encoded data.
  13847.  
  13848. This Application Developer╒s Guide describes the programming procedure that 
  13849. comprises the JT Fax 14400B Dual Application Programming Interface (API). A 
  13850. list of the functions is provided along with the necessary procedure to 
  13851. implement the functions. Throughout, the guide presents example routines 
  13852. using the elements of the functions to assist the programmer with the 
  13853. application. Included in Appendix G is a quick reference guide of the Command 
  13854. Codes indexed by alphabetical listings and by numeric listing. Also available 
  13855. with the JT Fax 14400B Dual is the developers toolkit, which contains working 
  13856. Fax software with source code. Familiarity with "C" and assembly language is 
  13857. required to use the toolkit. Contact Hayes Customer Service for information 
  13858. about obtaining the JT Fax Toolkit.
  13859.  
  13860. Distinction: JT Fax 14400B Dual is the product described in this Guide. JT Fax is a standard technology in the PC fax industry. The term fax refers to the facsimile technology.
  13861.  
  13862.  
  13863. **************************************************************************
  13864. Manual Organization
  13865. This Application Developer's Guide is arranged as follows:
  13866.  
  13867. This Application/Developers Guide is arranged as follows:
  13868.  
  13869. Chapter 1    Introduction describes the product features and the contents of 
  13870. the remainder of this Guide.
  13871.  
  13872. Chapter 2    Theory of Operation briefly presents the hardware and firmware 
  13873. used to develop the JT Fax 14400B Dual.
  13874.  
  13875. Chapter 3    JT Fax Toolbox describes the concepts, constructs, and structures 
  13876. necessary to develop API software for the JT Fax 14400B Dual.
  13877.  
  13878. Chapter 4    Voice and DTMF Detect describes the voice and DTMF operating 
  13879. modes available with the JT Fax 14400B Dual.
  13880.  
  13881. Chapter 5    Command Reference presents an alphabetical listing of all 
  13882. command codes available in the JT Fax API.
  13883.  
  13884. Chapter 6    Shared Memory Interface Description introduces functions, 
  13885. status codes, return codes and data that is passed through the Shared Memory 
  13886. Interface.
  13887.  
  13888. Chapter 7    File Formats describes the JT Fax file conversion formats.
  13889.  
  13890. Appendix A    ITU-T T.4 Huffman Encoding describes the T.4 Huffman 
  13891. Encoding process used by JT Fax.
  13892.  
  13893. Appendix B    Return Codes describes the timing JT Fax requires to read a return 
  13894. code. The appendix also includes a summary of the JT Fax Return Codes.
  13895.  
  13896. Appendix C    Status Codes provides a summary of the JT Fax Status Codes.
  13897.  
  13898. Appendix D    T.30 Phase Descriptions describes fax call processing techniques 
  13899. used by JT Fax.
  13900.  
  13901. Appendix E    Buffer Area Layout describes the Buffer Area used by several of 
  13902. the JT Fax commands.
  13903.  
  13904. Appendix F    OEM Code Guidelines defines the methodology JT Fax employs to 
  13905. offload code from a fax server.
  13906.  
  13907. Appendix G    Command Codes provides a complete listing of the JT Fax Command 
  13908. Codes in numerical order.
  13909.  
  13910. Appendix H    References lists references used in the development of the 
  13911. product.
  13912.  
  13913. Glossary    Glossary defines terms used in this guide.
  13914.  
  13915. **************************************************************************
  13916. Definitions
  13917. The following terms are used in this documentation:
  13918.  
  13919. Term        Definition
  13920. --------------------------------------------------------------------
  13921. Host         The Program written to interface with the JT Fax
  13922. JT Fax, Fax    The JT Fax 14400B Dual board
  13923. API        Application Programming Interface
  13924. API Block    Shared memory window
  13925. BPS        Bits per second
  13926. WORD        2 bytes
  13927. LONG        4 bytes
  13928.  
  13929. Additional definitions are listed in the Glossary.
  13930.  
  13931.  
  13932. ==========================================================================
  13933. Chapter 2
  13934. Theory of Operation 
  13935.  
  13936.  
  13937. The JT Fax 14400B Dual board includes two, 14400-baud, Group 3 facsimile 
  13938. modems with voice and DTMF capabilities. The facsimile modems are divided 
  13939. into two independent and separate parts, Fax A and Fax B. Each Fax has an 
  13940. independent processor, PC address interface, data pump and telephone line 
  13941. interface (TELCO) section. Both modems share a single PC bus interface and a 
  13942. speaker connection. The speaker volume is controlled by a potentiometer on 
  13943. the back of the unit. Speaker on/off controls are available for both FAX A and 
  13944. B through functions.
  13945.  
  13946. Fax A has the additional feature of a microphone jack. The microphone jack is 
  13947. provided for voice messaging applications.
  13948.  
  13949. **************************************************************************
  13950. Shared Memory Interface - API Block
  13951. The JT Fax interfaces to the PC through a shared memory interface. Access to 
  13952. the shared memory API Block is accomplished by two steps. 
  13953.  
  13954. Step 1:    Set the memory base address set with the DIP switch (see the 
  13955. Hayes JT Fax 14400B Dual Installation Guide) on the JT Fax 14400B Dual board. 
  13956.  
  13957. Step 2:    Scan the memory between addresses 640k and 1M for the keyword 
  13958. "ASHER". Once the keyword is found, the keyword address marks the 
  13959. beginning memory address of the JT Fax API Block.
  13960.  
  13961. The memory address is "blocked out" in a 4 Kb section. The starting address is 
  13962. Fax A. Fax A utilizes the first 2 Kb for an API Block. The adjacent 2K of memory 
  13963. is allocated to Fax B's API Block.
  13964.  
  13965. The shared memory interface requires no interrupt vectors to the PC, no serial 
  13966. port, and no drivers. The application communicates with the JT Fax shared 
  13967. memory using a polled interface method. Polling activation and frequency is 
  13968. host dependent and is determined by the application.
  13969.  
  13970. The handshake required to communicate with JT Fax 14400B Dual utilizes the JT 
  13971. Fax protocol structure. The JT Fax protocol is an ACK-ACK type protocol. All data 
  13972. and commands use this protocol. Chapter 5 provides protocol examples for each 
  13973. command.
  13974.  
  13975. The API Block contains memory windows for command protocol, control, 
  13976. configuration, and data. The Shared Memory Interface (see Chapter 6) details 
  13977. the API block. The API block's most important asset is the 1960 byte buffer for 
  13978. transmitting and receiving fax data. This allows additional time for the host to 
  13979. perform other activities. In addition, the JT Fax has a 9K buffer for transmitting
  13980. and receiving Fax data.
  13981.  
  13982. The transmit and receive capability of the JT Fax 14400B Dual board offers two 
  13983. modes of operation for the host: Manual and Automatic. Manual requires the 
  13984. host to start the initial call/answer procedure by issuing commands that force 
  13985. the Fax into the "off-hook" condition. The remainder of the call/answer is 
  13986. automatic.
  13987.  
  13988. In the Automatic procedure, the call/answer is handled by issuing the 
  13989. appropriate transmit and receive commands. The "off-hook" condition is 
  13990. controlled by the Fax.
  13991.  
  13992.  
  13993. **************************************************************************
  13994. Transmitting
  13995. Transmitting with the JT Fax 14400B Dual is straight-forward since the modem 
  13996. automatically executes the T.4 and T.30 handshake. The host is only responsible 
  13997. for the phone number, data to be transmitted, and the simple handshake 
  13998. protocol to JT Fax and the host. 
  13999.  
  14000. The following is a high level Program Design Language (PDL) example 
  14001. demonstrating a transmit.
  14002.  
  14003.     send SYNC_COMMAND        (only after power up )
  14004.     wait for response
  14005.         GOOD_INIT
  14006.     write to configure API block
  14007.     write phone number in BUFFER_AREA
  14008.     send XMIT_COMMAND
  14009.     wait for response 
  14010.         BOARD_ACK_STATUS
  14011.     write header information into BUFFER_AREA
  14012.     send PC_ACK
  14013.     wait for response LOAD_DATA_COMMAND
  14014.     write data to DATA_AREA
  14015.     send PC_ACK
  14016.     continue to write data till END_OF_FILE is reached
  14017.     send EOT_FLAG
  14018.     wait for response BOARD_ACK_STATUS
  14019.     check ret_code
  14020.         TRANSMIT_SUCCESSFUL
  14021.     send PC_ACK
  14022.  
  14023. A C programming language example of the transmit procedure can be found 
  14024. in the JT Fax Toolkit found on the Online with Hayes BBS in the file JT_TX.C.
  14025.  
  14026. The JT Fax 14400B Dual can have a manual dial if required. The host is required 
  14027. to dial the telephone number and place an "M" in the first byte of the 
  14028. automatic dial string. The "M" tells the JT Fax not to dial a telephone number. The 
  14029. JT Fax continues with the standard call progress. The manual handshake is 
  14030. identical to the automatic handshake.
  14031.  
  14032.  
  14033. *****************************************************************************
  14034. Receiving
  14035. The receive procedure for JT Fax 14400B Dual requires the host to monitor the 
  14036. Fax for an indication of a call. The host sets the number of rings to allow 
  14037. before answering in the RING_COUNT field of the API block. Answering the 
  14038. call and T.30 handshakes are automatic. Once the RING_COUNT is matched, the 
  14039. host receives a RECVINIT in the COMMAND field. The RECVINIT is the 
  14040. notification that an incoming call is being answered.
  14041.  
  14042. After the receiver initializes, the Fax issues a LOAD_DATA_COMMAND. The host 
  14043. should retrieve the data and respond with a PC_ACK. The same handshake 
  14044. continues until the last byte of data for the page or a transmission. To end 
  14045. transmission, the Fax issues an EOT command to the host. The EOT command 
  14046. concludes the handshake for the receive.
  14047.  
  14048. The following is a PDL example demonstrating a fax receive:
  14049.  
  14050.     send SYNC_COMMAND        ( only after power up )
  14051.     wait for response
  14052.         RECVINIT
  14053.     send PC_ACK 
  14054.     wait for response
  14055.         LOAD_DATA_COMMAND
  14056.     retrieve data from DATA_AREA
  14057.     send PC_ACK
  14058.     continue procedural handshake until response
  14059.         EOT_FLAG
  14060.     retrieve data from DATA_AREA    
  14061.     send PC_ACK
  14062.     wait for response
  14063.         BOARD_ACK_STATUS
  14064.     check RET_CODE
  14065.         SUCCESSFUL_RECEIVE
  14066.     send PC_ACK
  14067.     
  14068. A C programming language example of the receive procedure can be found 
  14069. in the JT Fax Toolkit found on the Online with Hayes BBS under the file JT_RX.C.
  14070.  
  14071. The manual receive allows the host to determine when and if the call will be 
  14072. answered. Rings are detected by an outside source or by the extended status 
  14073. code "RING". When the required number of rings is reached, the host issues 
  14074. the MANUAL_RECEIVE_COMMAND.
  14075.  
  14076. Note: To disable automatic detection, it is required to set RING_COUNT to 0FH. 
  14077.  
  14078. The remaining receive handshake procedure is identical to the automatic 
  14079. answer mode.
  14080.  
  14081.  
  14082. ==========================================================================
  14083. Chapter 3
  14084. JT Fax Toolbox
  14085. This section establishes the concepts, constructs, and structures necessary to 
  14086. develop API software. The items in capital letters are the specific functions 
  14087. whose corresponding command values are found in the JT Fax 14400B 
  14088. command set in Chapter 5.
  14089.  
  14090.  
  14091. The JT Fax 14400B Dual uses two contiguous memory blocks, each of which is 2K 
  14092. bytes long. The API Blocks, functions, return codes and status codes are 
  14093. discussed in separate sections of this Guide. In those Chapters, individual items 
  14094. are in alphabetical order for convenience. In the following sections, the items 
  14095. are grouped by function to clarify what functions are available.
  14096.  
  14097.  
  14098. **************************************************************************
  14099. API Block - Shared Memory
  14100. The API entry point for the JT Fax 14400B is the user selectable shared memory 
  14101. window. For backward compatibility, most of the elements of this structure are 
  14102. identical to the JT Fax 9600B. The only changes implemented to this structure 
  14103. are related to the new features of the JT Fax 14400B Dual. The changes are in 
  14104. the field previously defined as RESERVED and in one field not used in 9600B 
  14105. (RESET_PC). The new fields are STATUS_CODE, RCV_FILE_TYPE and RCV_LINES. 
  14106. The following chart describes the available fields:
  14107.  
  14108.  
  14109. Offset Length    Name            Usage/Description
  14110. -----------------------------------------------------------------------
  14111. 0000H-0005H     ID            Location of board address
  14112. 0005H-0001H     COMMAND        Commands and Status
  14113. 0006H-0001H     RING_COUNT    Ring to answer on
  14114. 0007H-0001H     CALL_MODE        Transmit / Receive
  14115. 0008H-0001H     FILE_TYPE         ASCII, PCX, JT Fax
  14116. 0009H-0001H     XMIT_FONT         Resolution, Font number
  14117. 000AH-0001H     MIN_PAGE         Force 11 inch page flag
  14118. 000BH-003DH     BUFFER_AREA     Phone numbers & headers
  14119. 0048H-0002H     SECONDS         Length of connection
  14120. 004AH-0001H     SPEAKER         On, off, on till connect
  14121. 004BH-0001H     RET_CODE         Completion code
  14122. 004CH-0002H     PAGES         Number of pages sent
  14123. 004EH-0002H     DATA_LEN         Length of valid data
  14124. 0050H-0001H     BAUD_RATE         2400, 4800, 7200, 9600, 12000,
  14125.                         14400 baud
  14126. 0051H-0001H     RESET_BOARD     Reset the board
  14127. 0052H-0001H     STATUS_CODE     Extended status
  14128. 0053H-0001H    LINE_COUNT        Number of lines transmitted
  14129. 0054H-0001H     RCV_FILE_TYPE     Receive file type
  14130. 0055H-0002H     RCV_LINE         Lines per page received
  14131. 0057H-0001H     RESERVED         Not used at this time
  14132. 0058H-07A8H     DATA_AREA     Used for file data
  14133.  
  14134. Note: H indicates hexadecimal code.
  14135.  
  14136.  
  14137. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  14138. JT Fax 9600 Compatibility
  14139. For backward compatibility, the API set published with the JT Fax 9600B has 
  14140. been fully implemented. These functions use the Command field and are 
  14141. provided here for reference.
  14142.  
  14143. Status                Description
  14144. ------------------------------------------------------------------
  14145. EOTFLAG                End of transmission
  14146. EOP                    End of page
  14147. INIT                    Initialize the board
  14148. LOAD_DATA_COMMAND        Begin transmit of Fax
  14149. LOAD_FONT_COMMAND        Load soft font
  14150. RECVINIT                Begin reception of Fax
  14151. XMIT_COMMAND            No transmission in progress
  14152.  
  14153. The JT Fax 9600B also included some status and PC handshake codes in the 
  14154. Command field. These are fully implemented for backward compatibility. The 
  14155. codes are provided here for reference.
  14156.  
  14157. Command                Description
  14158. ------------------------------------------------------------------------------
  14159. BAD_RAM                RAM test failed
  14160. BAD_ROM                ROM test failed
  14161. BOARD_ACK_STATUS        Board returns when function complete
  14162. BOARD_SYNC_COMMAND        Transition from initialization to 
  14163.                     command
  14164. ERROR                An error has occurred
  14165. GOOD_INIT                Board passed self test
  14166. IDLE_STATUS             No transmission in progress
  14167. PC_ACK                PC returns when function is complete
  14168.  
  14169.  
  14170. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  14171. JT Fax 14400B Facsimile API
  14172. The JT Fax 14400B API set is an enhanced version of the 9600B API set. All of 
  14173. the 9600B functions are supported. The following chart lists the facsimile API 
  14174. commands supported:
  14175.  
  14176. Command                Description
  14177. -------------------------------------------------------------------
  14178. EOTFLAG                End of transmission
  14179. EOP_FLAG                End of page
  14180. BOARD_SYNC_COMMAND        Initializes the board
  14181. LOAD_DATA_COMMAND        Begin transmit of Fax
  14182. LOAD_FONT_COMMAND        Load soft font
  14183. RECVINIT                Begin reception of Fax
  14184. XMIT_COMMAND            No transmission in progress
  14185.  
  14186.  
  14187. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  14188. JT Fax 14400B Configuration API
  14189. The JT Fax 14400B Dual Configuration functions were not available in the JT 
  14190. Fax 9600B command set. These configuration functions allow the host to 
  14191. customize the operation of the JT Fax 14400B Dual board. The following chart 
  14192. lists the configuration commands:
  14193.  
  14194. Command                Description
  14195. ----------------------------------------------------------------------
  14196. BUSY_COMMAND            Look for busy
  14197. DTMF_OFF_TIME_COMMAND    DTMF off time
  14198. DTMF_ON_TIME_COMMAND    DTMF on time
  14199. ENHANCED_MODE_OFF_COMMANDDisable 14400B modes
  14200. ENHANCED_MODE_ON_COMMAND    Enable all 14400B modes
  14201. EXTEND_STATUS_OFF_COMMAND    Disable extended status
  14202. EXTEND_STATUS_ON_COMMAND    Enable extended status
  14203. FAX_144_MODE_OFF_COMMAND    Disable receive 14400 kbps
  14204. FAX_144_MODE_ON_COMMAND    Enable receive 14400 kbps
  14205. FAX_MODE_COMMAND        Enable JT Fax Mode (testing)
  14206. MODEM_MODE_COMMAND        Disable Fax and enable Modem
  14207. NO_BUSY_COMMAND        Do not look for busy
  14208. PULSE_INTER_COMMAND        Interdigit time
  14209. REC_PCX_OFF_COMMAND        Disable receive PCX format
  14210. REC_PCX_ON_COMMAND        Enable receive PCX format
  14211. SET_CARRIER_COMMAND        Time to wait for carrier
  14212. STATUS_COMMAND            Enable the 14400B status
  14213. USER_CSI_COMMAND        Initializes CSI
  14214. USER_TSI_COMMAND        Initializes TSI
  14215.  
  14216.  
  14217. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  14218. Voice Commands
  14219. The Voice mode allows the recording and playback of non-compressed voice 
  14220. messages. 
  14221.  
  14222. During Phase A of a call, the Voice mode is entered after a user definable 
  14223. period of silence. (See Appendix D for a detailed description of JT Fax fax 
  14224. phases). After a period of silence, the user is notified of the "silent period" 
  14225. (SILENCE_DETECTED status) and is provided with a number of options. In 
  14226. addition, DTMF detect is automatically enabled.
  14227.  
  14228. Command                Description
  14229. -------------------------------------------------------------------------------
  14230. CLEAR_VOICE_COMMAND        Disables voice mode
  14231. GAIN_DOWN_COMMAND        Decrements gain increment by 1 dB 
  14232.                     (See SET_GAIN_COMMAND)
  14233. GAIN_UP_COMMAND        Increments the gain increment by 1 dB
  14234.                     (See SET_GAIN_COMMAND)
  14235. PLAY_END_COMMAND        End voice playback
  14236. PLAY_START_COMMAND        Start voice play back
  14237. RECORD_START_COMMAND    Start recording voice
  14238. RECORD_STOP_COMMAND        Stop recording voice
  14239. RETURN_TO_COMMAND         Return to command state from voice
  14240.                     mode
  14241. RETURN_TO_DATA_COMMAND    Return to Fax state from voice mode
  14242. SET_ACT_TIMER_COMMAND    Sets the time to wait for CNG tone
  14243. SET_GAIN_COMMAND        Sets the gain increment
  14244. SET_SLEW_RATE_COMMAND    Sets the "fall off rate" for voice signal 
  14245. SET_VOICE_MODE_COMMAND    Enables voice mode and CNG detect
  14246. TX_DTMF_COMMAND        Transmit DTMF tones
  14247.  
  14248. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  14249. Utility Functions
  14250. Some additional functions were added to aid in testing and debugging. The 
  14251. utility functions provide some of the low-level commands (primitives) used by 
  14252. the JT Fax 14400B to operate the hardware components. The JT Fax 14400B must 
  14253. be in FAX_MODE before any of the utility commands can be used. 
  14254.  
  14255. Caution: Some of these commands change the configuration of the Data Pump. 
  14256. If a change occurs to the data pump configuration, then a hardware reset will 
  14257. restore the values.
  14258.  
  14259. Command                Description
  14260. ------------------------------------------------------------------
  14261. CED_OFF_COMMAND        Turn off CED tone
  14262. CED_ON_COMMAND            Turn on CED tone
  14263. CNG_OFF_COMMAND        Turn off CNG tone
  14264. CNG_ON_COMMAND            Turn on CNG tone
  14265. DTMF_DIAL_COMMAND        Dial a DTMF number
  14266. DTMF_OFF_COMMAND        Turn off a DTMF tone
  14267. DTMF_ON_COMMAND        Turn on a DTMF tone
  14268. OEM_CODE_COMMAND        Execute OEM code onboard
  14269. OEM_LOAD_COMMAND        Load OEM code onboard
  14270. OFF_HOOK_COMMAND        Connects phone line
  14271. ON_HOOK_COMMAND        Disconnects phone line
  14272. PULSE_BREAK_COMMAND        Sets the Break Time
  14273. PULSE_DIAL_COMMAND        Pulse dial a number
  14274. PULSE_MAKE_COMMAND        Sets the Make Time
  14275. RESET_DATA_PUMP_COMMAND    Resets the data pump
  14276. SPEAKER_OFF_COMMAND        Turn off the speaker
  14277. SPEAKER_ON_COMMAND        Turn on the speaker
  14278.  
  14279.  
  14280. **************************************************************************
  14281. Return Codes
  14282. The return codes are enhanced for the JT Fax 14400B. In addition to the old JT 
  14283. Fax 9600B error codes, enhanced codes are available for more accurate 
  14284. problem determination during a FAX call.
  14285.  
  14286. The standard JT Fax 9600B return codes include two status codes, and the 
  14287. remaining codes are error return codes. The return codes are listed in the 
  14288. following table.
  14289.  
  14290. Error Code                Description
  14291. --------------------------------------------------------------------------------
  14292. BAD_DCS_RECEIVE            Error in DCS data
  14293. BAD_DIS_RECEIVE            Bad DIS was received
  14294. BAD_MCF_RESPONSE        Messages not confirmed
  14295. BAD_MPS_RECEIVE            Error in MPS frame
  14296. BAD_TRAINING            Errors received in training
  14297. BUSY                    Busy signal was detected
  14298. CLIPPED                ASCII to T4 line too long
  14299. NO_CARRIER            No connection was established
  14300. NO_DATA_RECEIVED        No data received within time limit
  14301. NO_DIALTONE            No dialtone reported in time limit
  14302. NO_PC_ACK                No PC acknowledge within time limit
  14303. PAGE_ERROR            Error in transmit page or receive page
  14304. PHASE_D_ERROR            Error occurred in Phase D
  14305. SUCCESSFUL_RECEIVE        Receive was successful
  14306. SUCCESSFUL_TRANSMIT        Transmit was successful
  14307.  
  14308. The enhanced mode can be enabled/disabled by the following commands:
  14309.  
  14310. Ñ    ENHANCED_MODE_ON
  14311. Ñ    ENHANCED_MODE_OFF (default).
  14312.  
  14313. The additional enhanced return codes are listed in the following table.
  14314.  
  14315. Error Code                Description
  14316. ------------------------------------------------------------------------------
  14317. ABORT_ERROR            Callee aborted call
  14318. DCN_RECEIVED_ERROR        Unexpected DCN received
  14319. DIALING_ERROR            DTMF digit in error
  14320. DTMF_ERROR            Tone was not DTME
  14321. DTMF_TIMEOUT_ERROR        DTMF tone was not available during timeout
  14322. FAXIT_ERROR            Error during fax transmission
  14323. FONT_TOO_LARGE_ERROR        Soft font too large
  14324. HDLC_CRC_ERROR            HDLC frame had bad CRC
  14325. HDLC_FRAME_TIMEOUT_ERROR    No HDLC frame in time limit
  14326. HDLC_MIN_SIZE_ERROR        Facsimile control frames had incorrect size
  14327. LONG_LINE_ERROR            Line too long in ASCII to Huffman
  14328. MAX_FRAME_ERROR        Facsimile control frames had incorrect size
  14329. NEGOTIATING_TRAIN_DCN_ERROR    DCN received during training
  14330. NO_CNG_ERROR            No CNG detected in received mode
  14331. NO_RECEIVE_DCS_ERROR        No DCS received
  14332. PERCENTAGE_ERROR        Errors in line exceeded percentage limits
  14333. PHASE_A_ERROR            Error occurred in Phase A
  14334. PHASE_B_ERROR            Error occurred in Phase B
  14335. PHASE_C_ERROR            Error occurred in Phase C
  14336. PHASE_E_ERROR            Error occurred in Phase E
  14337. PHASE_E_TIMEOUT            Time-out during handshake Phase E
  14338. ROCK_ERROR            Error in DSP chip
  14339. VOICE_ERROR            Error in voice procedures
  14340.  
  14341.  
  14342. **************************************************************************
  14343. Status Codes
  14344. In addition to the enhanced error codes, enhanced status messages are 
  14345. available. Since status codes do not require a response or action, the codes are 
  14346. reported in the STATUS_CODE.
  14347.  
  14348. Status            Description
  14349. ----------------------------------------------------------
  14350. CONNECT            Connection established
  14351. NEGOTIATING_SPEED    Negotiating connect speed
  14352. PHASE_A_START        Phase A started
  14353. PHASE_B_START        Phase B started
  14354. PHASE_C_START        Phase C started
  14355. PHASE_D_START        Phase D started
  14356. RING                Ring detected
  14357. SUBSCRIBE_INFO        CSI/TSI information available in buffer area
  14358.  
  14359.  
  14360. ==========================================================================
  14361. Chapter 4
  14362. Voice and DTMF Detect
  14363.  
  14364.  
  14365. The voice and DTMF detect option of the JT Fax 14400B Dual has a Manual and an 
  14366. Automatic operating mode. Automatic requires a connection while Manual may 
  14367. be initiated in an off- line or on-line state.
  14368.  
  14369. The Automatic DTMF/VOICE detection for JT Fax 14400B Dual detects DTMF/VOICE 
  14370. during the Phase A (answer mode) of a call. Enable the 
  14371. CNG_DETECT_ON_command for the automatic option. To disable the automatic 
  14372. mode, issue the CNG_DETECT_OFF_COMMAND.
  14373.  
  14374. After a user-defined period of silence (no CNG tone), the JT Fax 14400B Dual 
  14375. enters DTMF/VOICE mode. During this stage, the user has the following options:
  14376.  
  14377. Ñ    detecting DTMF tones
  14378. Ñ    returning to data mode and continuing to answer Fax calls (i.e., send 
  14379. CED)
  14380. Ñ    executing voice commands
  14381. Ñ    returning to command state. 
  14382.  
  14383. The Manual mode only requires setting the options for DTMF/VOICE and the 
  14384. specific command to be issued. Manual mode is independent of connection 
  14385. status.
  14386.  
  14387.  
  14388. **************************************************************************
  14389. DTMF Detect
  14390. Automatic DTMF detection is accomplished when the JT Fax 14400B Dual is in 
  14391. the DTMF/VOICE ╥on-line╙ detect mode. The JT Fax 14400B Dual automatically 
  14392. searches for DTMF tones. If a DTMF tone is found, the tone value is placed in 
  14393. the first byte of the Data_Area and a DTMF_DETECT_STATUS is written into the 
  14394. API command block at location COMMAND. The JT Fax 14400B Dual waits until 
  14395. the Host retrieves the DTMF value and issues a PC_ACK command before 
  14396. searching for more DTMF tones.
  14397.  
  14398. The manual option provides the capability of entering DTMF detect mode from 
  14399. command state. This is independent of connect status. The JT Fax 14400B Dual 
  14400. operates similarly to the automatic DTMF detect. The difference is that the Host 
  14401. must cancel the DTMF detect search with an EOD command. The JT Fax 14400B 
  14402. Dual issues a BOARD_ACK_COMMAND in response. 
  14403.  
  14404. The option for CNG_DETECT does not have to be enabled for the manual DTMF 
  14405. detect. However, DTMF detect option does need to be enabled for manual and 
  14406. automatic operation.
  14407.  
  14408. The DTMF tones detected and reported to the Host are:
  14409.  
  14410.     1, 2, 3, 4, 5, 6, 7, 8, 9, 0, *, #, A, B, C, D.
  14411.  
  14412. Commands available for Automatic operation are:
  14413.  
  14414.     CNG_DETECT_ON_COMMAND
  14415.     DTMF_DIAL_COMMAND
  14416.     DTMF_DETECT_STATUS
  14417.     RETURN_TO_DATA_COMMAND
  14418.     RETURN_TO_COMMAND
  14419.  
  14420. Commands available for manual operation include:
  14421.  
  14422.     DTMF_DETECT_ON_COMMAND
  14423.     EOD
  14424.     DTMF_DETECT_STATUS
  14425.  
  14426. The following is an example of automatic DTMF detect:
  14427.  
  14428.     (Connecting Call)
  14429.         .
  14430.         .
  14431.         .
  14432.     Wait for Response
  14433.         SILENCE_DETECT_STATUS
  14434.     Check Status
  14435.         VOICE_MODE
  14436.         .
  14437.         .
  14438.         .
  14439.     Wait for Response
  14440.         DTMF_DETECT_STATUS
  14441.     Retrieve Byte Code from Data_Area
  14442.     Send PC_ACK
  14443.         .
  14444.         .
  14445.         .
  14446.     (Continuing in DTMF/Voice Mode)
  14447.  
  14448. The following is an example of manual DTMF detect:
  14449.  
  14450.     Send GET_DTMF_COMMAND
  14451.     Wait for Response
  14452.         BOARD_ACK_STATUS
  14453.     Wait for Response
  14454.         DTMF_DETECT_STATUS
  14455.     Retrieve Byte Data from Data_Area
  14456.     Send PC_ACK
  14457.         .
  14458.         .
  14459.         .
  14460.     (When Finished)
  14461.     Send EOD_FLAG
  14462.     Wait for Response
  14463.         BOARD_ACK_COMMAND
  14464.     Send PC_ACK
  14465.  
  14466.  
  14467. **************************************************************************
  14468. Voice Mode
  14469. Voice mode can be entered when you are connected or disconnected to the 
  14470. phone line. When connected, voice recording is provided from the telephone 
  14471. line to either Fax A or Fax B. In the disconnected mode, input is provided by a 
  14472. microphone on Fax A only. 
  14473.  
  14474. In automatic voice mode, DTMF and voice are enabled. During Phase A of the 
  14475. call, the Voice mode is entered after a user definable period of silence. After 
  14476. the period of silence, the Host is notified of the "silent period" 
  14477. (SILENCE_DETECTED status) and starts to execute options similar in 
  14478. functionality to the Class 2 voice commands. 
  14479.  
  14480. The options in Automatic mode are:
  14481.  
  14482. Command                Description
  14483. ----------------------------------------------------------------------------------
  14484. CNG_DETECT_ON_COMMAND    Enables voice mode and CNG detect
  14485. CNG_DETECT_OFF_COMMAND    (default)
  14486. SET_ACTIVITY_TIMER        Sets the time to wait for CNG tone
  14487. GAIN_UP                Increases the gain increment by 1 dB
  14488. GAIN_DOWN                Decrements gain increment by 1 dB
  14489. SET_GAIN                Sets the gain increment
  14490. SET_SLEW_RATE            Sets the "fall-off rate" for voice signal
  14491. RETURN_TO_COMMAND        Returns to command state from voice mode
  14492. RECORD_START            Starts recording voice
  14493. RECORD_STOP            Stops recording voice
  14494. PLAY_START            Starts voice play back
  14495. PLAY_END                Ends voice playback
  14496. DIAL_DTMF_COMMAND        Transmits DTMF tones
  14497.  
  14498. Manual voice mode requires the host to issue the SETUP_VOICE_COMMAND from 
  14499. command state. Once the command is received by the FAX, the JT Fax 14400B 
  14500. Dual enters the VOICE/DTMF mode and all commands available for Automatic 
  14501. mode are applicable except the RETURN_TO_DATA_COMMAND.
  14502.  
  14503. During the actual playing and recording of a message, the DTMF detection is 
  14504. not available. This is due to the half-duplex nature of the 144EFX chip and 
  14505. different modes required for DTMF DETECT and VOICE mode. However, after the 
  14506. message is sent DTMF detection may occur.
  14507.  
  14508. Voice data format during record and playback is in a raw binary 8-bit 
  14509. resolution format.
  14510.  
  14511. The following PDL example is for automatic voice playback:
  14512.  
  14513.     (Initiate Call)
  14514.         .
  14515.         .
  14516.         .
  14517.     Wait for Response
  14518.         SILENCE_DETECT_STATUS
  14519.     Send PC_ACK
  14520.     Write Voice Data in Data_Area
  14521.     Send Play Start
  14522.     Wait for Response
  14523.         LOAD_DATA_COMMAND
  14524.         .
  14525.         .
  14526.         .
  14527.     (Finish Data)
  14528.         SEND_EOV_FLAG
  14529.     Wait for Response
  14530.         BOARD_ACK_COMMAND
  14531.     Send PC_ACK
  14532.         .
  14533.         .
  14534.         .
  14535.     (Continue with Voice/DTMF loop)
  14536.  
  14537. Voice playback is completed.
  14538.  
  14539. The following example is for manual record off-line.
  14540.  
  14541. Step 1:    Attach the microphone to the Fax A microphone jack.
  14542.  
  14543. Step 2:    Start the voice recording process:
  14544.  
  14545.         Send REC_START_COMMAND
  14546.         Wait for Response
  14547.             BOARD_ACK_STATUS
  14548.         Wait for Response
  14549.             LOAD_DATA_COMMAND
  14550.         Retrieve voice data from Data_Area
  14551.         Send PC_ACK
  14552.             .
  14553.             .
  14554.             .
  14555.         Wait for Response
  14556.             EOVFLAG
  14557.         Send PC_ACK
  14558.  
  14559. This completes the voice recording. 
  14560.  
  14561. To use Manual Voice Recording, use the previous procedure, but replace the 
  14562. REC_START_COMMAND with the MANUAL_REC_COMMAND.
  14563.  
  14564.  
  14565. ==========================================================================
  14566. Chapter 5
  14567. Command Reference
  14568.  
  14569.  
  14570. This Chapter includes detailed descriptions of the JT Fax command set. The 
  14571. point of reference is from the HOST side for all commands. The command 
  14572. descriptions are in the following format:
  14573.  
  14574. Characteristic        Description
  14575. COMMAND:             Specific function or status mnemonic
  14576. CODE:                 Hex code 
  14577. CATEGORY:            Fax, Status, Configuration, Utility, Voice
  14578. DIRECTION:            Host to JT Fax or JT Fax to Host
  14579. INPUT to JT:            Location in API block. Direction: JT Fax
  14580. OUTPUT from JT:        Location in API block. Direction: Host
  14581. DEFAULT:            Default for status commands
  14582. DESCRIPTION:        Detailed description of command
  14583.  
  14584. EXAMPLE:            A flow language example
  14585.  
  14586. RELATED FUNCTIONS:     Any other functions that might be of use
  14587.  
  14588. The commands are presented in alphabetical order.
  14589.  
  14590. Note: A PC_ACK is required after a BOARD_ACK status unless otherwise specified 
  14591. by the specific command feature.
  14592.  
  14593. **************************************************************************
  14594. BAD_RAM
  14595. Characteristic        Description
  14596. COMMAND:             BAD_RAM
  14597. CODE:                 0F1H
  14598. CATEGORY:            Fax - Compatibility 
  14599. DIRECTION:            JT Fax to Host
  14600. INPUT to JT:            None
  14601. OUTPUT from JT:        None
  14602. DEFAULT:            Not applicable
  14603.  
  14604. DESCRIPTION:        BAD_RAM is issued after the RAM test was 
  14605. performed. BAD_RAM is an indication of a faulty random access memory chip. 
  14606. It is not recommended that FAX operation proceed. Call Hayes Customer Service.
  14607.  
  14608. EXAMPLE:            BOARD_SYNC_COMMAND        - Host
  14609.                 BAD_RAM                - FAX
  14610.                 PC_ACK                - Host
  14611.                 IDLE                    - FAX
  14612.  
  14613. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  14614.                 HARDWARE_RESET_COMMAND
  14615.  
  14616.  
  14617. *****************************************************************************
  14618. BAD_ROM
  14619. Characteristic        Description
  14620. COMMAND:             BAD_ROM
  14621. CODE:                 0F2H
  14622. CATEGORY:            Fax - Compatibility 
  14623. DIRECTION:            JT Fax to Host
  14624. INPUT to JT:            None
  14625. OUTPUT from JT:        None
  14626. DEFAULT:            Not applicable
  14627.  
  14628. DESCRIPTION:    BAD_ROM is issued after the ROM test was performed. 
  14629. BAD_ROM is an indication of faulty read only memory chip. It is not 
  14630. recommended that FAX operation proceed. Call Hayes Customer Service.
  14631.  
  14632. EXAMPLE:            BOARD_SYNC_COMMAND        - Host
  14633.                 BAD_ROM                - FAX
  14634.                 PC_ACK                 - Host
  14635.                 IDLE                    - FAX
  14636.  
  14637. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  14638.                 HARDWARE_RESET_COMMAND
  14639.  
  14640.  
  14641. **************************************************************************
  14642. Board_ACK_Status
  14643. Characteristic        Description
  14644. COMMAND:             Board_ACK_Status
  14645. CODE:                 02H
  14646. CATEGORY:            Status 
  14647. DIRECTION:            JT Fax to Host
  14648. INPUT to JT:            None
  14649. OUTPUT from JT:        None
  14650. DEFAULT:            Not applicable
  14651.  
  14652. DESCRIPTION:        This API is part of the handshake protocol with the 
  14653. Host. The JT Fax board returns a BOARD_ACK_STATUS acknowledging the 
  14654. receipt or completion of a command. Some commands have additional 
  14655. handshake sequences and are detailed under the specific command.
  14656.  
  14657. EXAMPLE:            REC_PCX_ON_COMMAND         - Host
  14658.                 BOARD_ACK_STATUS         - JT Fax
  14659.                 (continue if necessary)
  14660.                     .
  14661.                     .
  14662.                     .
  14663.  
  14664. RELATED FUNCTIONS:     PC_ACK
  14665.  
  14666.  
  14667. **************************************************************************
  14668. Board_Sync_Command
  14669. Characteristic        Description
  14670. COMMAND:             Board_Sync_Command
  14671. CODE:                 0FFH
  14672. CATEGORY:            FAX - Compatibility 
  14673. DIRECTION:            Host to JT Fax
  14674. INPUT to JT:            None
  14675. OUTPUT from JT:        GOOD_INIT
  14676.                 IDLE
  14677. DEFAULT:            Not applicable
  14678.  
  14679. DESCRIPTION:    The BOARD_SYNC_COMMAND initiates command state for 
  14680. the Fax after a power up or HARDWARE_RESET_COMMAND. No commands are 
  14681. accepted by the Fax until this command is issued. After the command is issued, 
  14682. BOARD_STATUS is updated in the API block. A GOOD_INIT is issued when the Fax 
  14683. is ready for commands. If a GOOD_INIT is not received , then the Host may need 
  14684. to issue another HARDWARE_RESET_COMMAND.
  14685.  
  14686. EXAMPLE:            BOARD_SYNC_COMMAND         - Host
  14687.                 GOOD_INIT                 - FAX
  14688.                 PC_ACK                 - Host
  14689.                 IDLE                     - FAX
  14690.  
  14691. RELATED FUNCTIONS:     GOOD_INIT,
  14692.                 HARDWARE_RESET_COMMAND
  14693.  
  14694.  
  14695. **************************************************************************
  14696. Busy_Command
  14697. Characteristic        Description
  14698. COMMAND:             Busy_Command
  14699. CODE:                 02FH
  14700. CATEGORY:            Configuration 
  14701. DIRECTION:            Host to JT Fax
  14702. INPUT to JT:            None
  14703. OUTPUT from JT:        BOARD_ACK_STATUS
  14704. DEFAULT:            Detect Busy
  14705.  
  14706. DESCRIPTION:        The BUSY_COMMAND instructs the JT Fax to 
  14707. recognize a busy signal.
  14708.  
  14709. EXAMPLE:            IDLE                    - FAX
  14710.                 BUSY_COMMAND             - Host
  14711.                 BOARD_ACK_STATUS        - FAX
  14712.                 PC_ACK                - Host
  14713.                 IDLE_STATUS            - Fax
  14714.  
  14715. RELATED FUNCTIONS:     XMIT_COMMAND, 
  14716.                 PULSE_DIAL_COMMAND,
  14717.                 DTMF_DIAL_COMMAND
  14718.  
  14719.  
  14720. **************************************************************************
  14721. CED_Off_Command
  14722. Characteristic        Description
  14723. COMMAND:             CED_Off_Command
  14724. CODE:                 037H
  14725. CATEGORY:            Utility
  14726. DIRECTION:            Host to JT Fax
  14727. INPUT to JT:            None
  14728. OUTPUT from JT:        BOARD_ACK_STATUS
  14729. DEFAULT:            Not applicable
  14730. DESCRIPTION:        The CED_OFF_COMMAND terminates the output of an 
  14731. ITU-T T.4 specified 2100 Hz tone. 
  14732.  
  14733. EXAMPLE:            CED_OFF_COMMAND        - Host
  14734.                 BOARD_ACK_STATUS        - FAX
  14735.                 PC_ACK                - Host
  14736.                 IDLE                    - FAX
  14737.  
  14738. RELATED FUNCTIONS:     CED_ON_COMMAND
  14739.  
  14740.  
  14741. *****************************************************************************
  14742. CED_On_Command
  14743. Characteristic        Description
  14744. COMMAND:             CED_On_Command
  14745. CODE:                 036H
  14746. CATEGORY:            Utility
  14747. DIRECTION:            Host to JT Fax
  14748. INPUT to JT:            None
  14749. OUTPUT from JT:        BOARD_ACK_STATUS
  14750. DEFAULT:            Not applicable
  14751. DESCRIPTION:        The CED_ON_COMMAND outputs an ITU-T T.4 specified 
  14752. 2100 Hz tone.
  14753.  
  14754. EXAMPLE:            CED_ON_COMMAND            - Host
  14755.                 BOARD_ACK_STATUS        - FAX
  14756.                 PC_ACK                - Host
  14757.                 IDLE                    - FAX
  14758.  
  14759. RELATED FUNCTIONS:     CED_OFF_COMMAND
  14760.  
  14761.  
  14762.  
  14763. **************************************************************************
  14764. CNG_Detect_Off_Command
  14765. Characteristic        Description
  14766. COMMAND:             CNG_Detect_Off_Command
  14767. CODE:                 061H
  14768. CATEGORY:            Voice - Configuration
  14769. DIRECTION:            Host to JT Fax
  14770. INPUT to JT:            None
  14771. OUTPUT from JT:        BOARD_ACK_STATUS
  14772. DEFAULT:            Off
  14773.  
  14774. DESCRIPTION:        The CNG_DETECT_OFF_COMMAND must be issued from 
  14775. command state. The command disables the voice and DTMF modes when 
  14776. answering a call. After answering a call, the Fax will not determine if the 
  14777. caller is a voice call or Fax call by detecting a CNG tone. The answer back tone 
  14778. is transmitted. 
  14779.  
  14780. EXAMPLE:            IDLE                    - FAX
  14781.                 CNG_DETECT_OFF_COMMAND     - Host
  14782.                 BOARD_ACK_STATUS        - FAX
  14783.                 PC_ACK                - Host
  14784.                 IDLE                    - FAX
  14785.  
  14786. RELATED FUNCTIONS:     "Voice and DTMF", 
  14787.                 CNG_DETECT_ON_COMMAND, 
  14788.                 ERRFLAG, NO_CNG_DETECT_ERROR
  14789.  
  14790.  
  14791. **************************************************************************
  14792. CNG_Detect_On_Command
  14793. Characteristic        Description
  14794. COMMAND:             CNG_Detect_On_Command
  14795. CODE:                 060H
  14796. CATEGORY:            Voice - Configuration
  14797. DIRECTION:            Host to JT Fax
  14798. INPUT to JT:            None
  14799. OUTPUT from JT:        BOARD_ACK_STATUS
  14800. DEFAULT:            Off
  14801.  
  14802. DESCRIPTION:        The CNG_DETECT_ON_COMMAND must be issued from 
  14803. command state. The command enables the voice and DTMF modes when 
  14804. answering a call. After answering a call, the Fax will not determine if the 
  14805. caller is a voice call or Fax call by detecting a CNG tone. The answer back tone 
  14806. is transmitted. 
  14807.  
  14808. EXAMPLE:            IDLE                    - FAX
  14809.                 CNG_DETECT_ON_COMMAND     - Host
  14810.                 BOARD_ACK_STATUS        - FAX
  14811.                 PC_ACK                - Host
  14812.                 IDLE                    - FAX
  14813.  
  14814. RELATED FUNCTIONS:     "Voice and DTMF", 
  14815.                 CNG_DETECT_ON_COMMAND, ERRFLAG, 
  14816.                 NO_CNG_DETECT_ERROR
  14817.  
  14818.  
  14819. **************************************************************************
  14820. CNG_Off_Command
  14821. Characteristic        Description
  14822. COMMAND:             CNG_Off_Command
  14823. CODE:                 035H
  14824. CATEGORY:            Utility
  14825. DIRECTION:            Host to JT Fax
  14826. INPUT to JT:            None
  14827. OUTPUT from JT:        BOARD_ACK_STATUS
  14828. DEFAULT:            Not applicable
  14829. DESCRIPTION:        The CNG_OFF_COMMAND terminates the output of an 
  14830. ITU-T T.4 specified 1100 Hz tone.
  14831.  
  14832. EXAMPLE:            CNG_ON_COMMAND            - Host
  14833.                 BOARD_ACK_STATUS        - FAX
  14834.                 PC_ACK                - Host
  14835.                 IDLE                    - FAX
  14836.  
  14837. RELATED FUNCTIONS:     CNG_OFF_COMMAND
  14838.  
  14839.  
  14840. **************************************************************************
  14841. CNG_On_Command
  14842. Characteristic        Description
  14843. COMMAND:             CNG_On_Command
  14844. CODE:                 034H
  14845. CATEGORY:            Utility
  14846. DIRECTION:            Host to JT Fax
  14847. INPUT to JT:            None
  14848. OUTPUT from JT:        BOARD_ACK_STATUS
  14849. DEFAULT:            Not applicable
  14850.  
  14851. DESCRIPTION:        The CNG_ON_COMMAND outputs an ITU-T T.4 specified 
  14852. 1100 Hz tone.
  14853.  
  14854. EXAMPLE:            CNG_ON_COMMAND            - Host
  14855.                 BOARD_ACK_STATUS        - FAX
  14856.                 PC_ACK                - Host
  14857.                 IDLE                    - FAX
  14858.  
  14859. RELATED FUNCTIONS:     CNG_OFF_COMMAND
  14860.  
  14861.  
  14862. **************************************************************************
  14863. DTMF_Detect_Off_Command
  14864. Characteristic        Description
  14865. COMMAND:             DTMF_Detect_Off_Command
  14866. CODE:                 074H
  14867. CATEGORY:            Voice - Configuration
  14868. DIRECTION:            Host to JT Fax
  14869. INPUT to JT:            None
  14870. OUTPUT from JT:        BOARD_ACK_COMMAND
  14871. DEFAULT:            Not applicable
  14872.  
  14873. DESCRIPTION:        The DTMF_DETECT_OFF_COMMAND disables the Fax 
  14874. capability to detect DTMF tones while in the Voice/DTMF mode. 
  14875.  
  14876. EXAMPLE:            IDLE                    - FAX
  14877.                 DTMF_DETECT_OFF_COMMAND    - Host
  14878.                 BOARD_ACK_COMMAND        - FAX
  14879.                 PC_ACK                - Host
  14880.                 IDLE                    - FAX
  14881.  
  14882. RELATED FUNCTIONS:     "Voice and DTMF", 
  14883.                 CNG_DETECT_ON_COMMAND
  14884.  
  14885.  
  14886. **************************************************************************
  14887. DTMF_Detect_On_Command
  14888. Characteristic        Description
  14889. COMMAND:             DTMF_Detect_On_Command
  14890. CODE:                 073H
  14891. CATEGORY:            Voice - Configuration
  14892. DIRECTION:            Host to JT Fax
  14893. INPUT to JT:            None
  14894. OUTPUT from JT:        BOARD_ACK_COMMAND
  14895. DEFAULT:            Not applicable
  14896.  
  14897. DESCRIPTION:        The DTMF_DETECT_ON_COMMAND enables the Fax 
  14898. capability to detect DTMF tones while in the Voice/DTMF mode. 
  14899.  
  14900. EXAMPLE:            IDLE                    - FAX
  14901.                 DTMF_DETECT_ON_COMMAND    - Host
  14902.                 BOARD_ACK_COMMAND        - FAX
  14903.                 PC_ACK                - Host
  14904.                 IDLE                    - FAX
  14905.  
  14906. RELATED FUNCTIONS:     "Voice and DTMF", 
  14907.                 CNG_DETECT_ON_COMMAND
  14908.  
  14909.  
  14910. **************************************************************************
  14911. DTMF_Detect_Status
  14912. Characteristic        Description
  14913. COMMAND:             DTMF_Detect_Status
  14914. CODE:                 070H
  14915. CATEGORY:            Voice , Status
  14916. DIRECTION:            JT Fax to Host
  14917. INPUT to JT:            PC_ACK
  14918. OUTPUT from JT:        DTMF digit in DATA_AREA
  14919. DEFAULT:            Not applicable
  14920.  
  14921. DESCRIPTION:        The DTMF_DETECT_STATUS informs the Host that a 
  14922. DTMF tone was detected while in VOICE/DTMF mode. The DTMF_DETECT_STATUS 
  14923. command is only issued after a DTMF_DETECT_ON_COMMAND.
  14924.  
  14925. EXAMPLE:            DTMF_DETECT_ON_COMMAND    - Host
  14926.                     .
  14927.                     .
  14928.                     .
  14929.                 SILENCE_DETECTED_STATUS    - FAX
  14930.                 PC_ACK                - Host
  14931.                 ...load DTMF byte in DATA_AREA    - FAX
  14932.                 DTMF_DETECT_STATUS        - FAX
  14933.                 ...retrieve DTMF byte        - Host
  14934.                 PC_ACK                - Host
  14935.                 IDLE                     - FAX
  14936.  
  14937. RELATED FUNCTIONS:     "Voice and DTMF", 
  14938.                 DTMF_DETECT_ON_COMMAND, 
  14939.                 DTMF_DETECT_OFF_COMMAND
  14940.  
  14941.  
  14942. **************************************************************************
  14943. DTMF_Dial_Command
  14944. Characteristic    Description
  14945. COMMAND:         DTMF_Dial_Command
  14946. CODE:             02CH
  14947. CATEGORY:        Utility 
  14948. DIRECTION:        Host to JT Fax
  14949. INPUT to JT:        DTMF number at OFFSET 00H in buffer_area
  14950.             Max. number length 60 characters
  14951. OUTPUT from JT:    BOARD_ACK_STATUS
  14952. DEFAULT:        Not applicable
  14953.  
  14954. DESCRIPTION:    DTMF_DIAL_COMMAND dials the digits stored at 
  14955. BUFFER_AREA. The dial command does not connect the phone line. The line 
  14956. must be connected with an OFF_HOOK_COMMAND.
  14957.  
  14958. The dial string has several digits and modifiers. The DTMF digits supported are 
  14959. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *, #, A, B, C, D. The dial modifiers are:
  14960.  
  14961. JT Fax 9600B COMPATIBILITY
  14962. First byte: 'P' - Pulse Dial    'T' - Tone Dial 
  14963. Second byte: 'W' - Wait for Dial Tone     ' ' - Do not Wait 
  14964.  
  14965. If the first two bytes are 'MA' (Manual Dial) a number will not be dialed.
  14966.  
  14967. JT Fax 14400B
  14968. --------------------------
  14969. P    - pulse dial
  14970. T    - tone dial
  14971. W    - wait for dialtone
  14972. ,    - 2 second pause
  14973. !    - flash hook
  14974. I    - no busy detect
  14975.  
  14976. Note: This command may be used in Voice offline mode.
  14977.  
  14978. EXAMPLE:            IDLE                    - FAX
  14979.                 (load string value in 
  14980.                   buffer_area)            - Host
  14981.                 DIAL_DTMF_COMMAND         - Host
  14982.                 BOARD_ACK_STATUS        - FAX
  14983.                 PC_ACK                - Host
  14984.                 IDLE_STATUS            - Fax
  14985.  
  14986. RELATED FUNCTIONS:     XMIT_COMMAND, 
  14987.                 DTMF_ON_TIME_COMMAND, 
  14988.                 DTMF_OFF_TIME_COMMAND
  14989.  
  14990.  
  14991. **************************************************************************
  14992. DTMF_Off_Command
  14993. Characteristic        Description
  14994. COMMAND:             DTMF_Off_Command
  14995. CODE:                 029H
  14996. CATEGORY:            Utility
  14997. DIRECTION:            Host to JT Fax
  14998. INPUT to JT:            None
  14999. OUTPUT from JT:        BOARD_ACK_STATUS
  15000. DEFAULT:            Not applicable
  15001.  
  15002. DESCRIPTION:        DTMF_OFF_COMMAND commands the JT Fax to 
  15003. terminate a DTMF tone. The command does not disconnect the line.
  15004.  
  15005. EXAMPLE:            IDLE                    - FAX
  15006.                 DTMF_OFF_COMMAND         - Host
  15007.                 BOARD_ACK_STATUS        - FAX
  15008.                 PC_ACK                - Host
  15009.                 IDLE_STATUS            - Fax
  15010.  
  15011. RELATED FUNCTIONS:     DTMF_ON_COMMAND, 
  15012.                 FAX_MODE_COMMAND, 
  15013.                 ON_HOOK_COMMAND
  15014.  
  15015.  
  15016. **************************************************************************
  15017. DTMF_Off_Time_Command
  15018. Characteristic        Description
  15019. COMMAND:             DTMF_Off_Time_Command
  15020. CODE:                 02BH
  15021. CATEGORY:            Configuration
  15022. DIRECTION:            Host to JT Fax
  15023. INPUT to JT:            DTMF time at OFFSET 00H in buffer area
  15024. OUTPUT from JT:        BOARD_ACK_STATUS
  15025. DEFAULT:            70 ms
  15026.  
  15027. DESCRIPTION:        DTMF_OFF_TIME_COMMAND configures the interdigit 
  15028. off time for automatic dialing of DTMF digits. The value specified is in 
  15029. milliseconds with a length of WORD. Max. value is 65 seconds. Standard 
  15030. minimum value is 65 ms. 
  15031.  
  15032. EXAMPLE:            IDLE                    - FAX
  15033.                 (load word value in 
  15034.                   buffer_area)            - Host
  15035.                 DTMF_OFF_TIME_COMMAND -    - Host
  15036.                 BOARD_ACK_STATUS        - FAX
  15037.                 PC_ACK                - Host
  15038.                 IDLE_STATUS            - Fax
  15039.  
  15040. RELATED FUNCTIONS:     XMIT_COMMAND, 
  15041.                 DTMF_DIAL_COMMAND, 
  15042.                 DTMF_ON_TIME_COMMAND
  15043.  
  15044.  
  15045. **************************************************************************
  15046. DTMF_On_Command
  15047. Characteristic        Description
  15048. COMMAND:             DTMF_On_Command
  15049. CODE:                 028H
  15050. CATEGORY:            Utility
  15051. DIRECTION:            Host to JT Fax
  15052. INPUT to JT:            DTMF tone digit at OFFSET 00H in buffer area
  15053. OUTPUT from JT:        BOARD_ACK_STATUS
  15054. DEFAULT:            Not applicable
  15055.  
  15056. DESCRIPTION:        DTMF_ON_COMMAND commands the JT Fax to send a 
  15057. DTMF digit specified by the value in BUFFER_AREA. The duration of the tone is 
  15058. controlled by the Host. The command does not connect the phone line. The tone 
  15059. is terminated by the DTMF_OFF_COMAMND.
  15060.  
  15061. Note: JT Fax must be in Fax mode for Utility commands.
  15062.  
  15063. EXAMPLE:            IDLE                    - FAX
  15064.                 (load digit in buffer area)    - Host
  15065.                 DTMF_ON_COMMAND         - Host
  15066.                 BOARD_ACK_STATUS        - FAX
  15067.                 PC_ACK                - Host
  15068.                 IDLE_STATUS            - Fax
  15069.  
  15070. RELATED FUNCTIONS:     DTMF_OFF_COMMAND,
  15071.                 FAX_MODE_COMMAND, 
  15072.                 OFF_HOOK_COMMAND
  15073.  
  15074.  
  15075. **************************************************************************
  15076. DTMF_On_Time_Command
  15077. Characteristic        Description
  15078. COMMAND:             DTMF_On_Time_Command
  15079. CODE:                 029H
  15080. CATEGORY:            Configuration
  15081. DIRECTION:            Host to JT Fax
  15082. INPUT to JT:            DTMF time at OFFSET 00H in buffer area
  15083. OUTPUT from JT:        BOARD_ACK_STATUS
  15084. DEFAULT:            70 ms
  15085.  
  15086. DESCRIPTION:        DTMF_ON_TIME_COMMAND sets the on-time for 
  15087. automatic dialing of DTMF digits. The value specified is in milliseconds with a 
  15088. length of WORD. Max. value is 65 seconds. The standard minimum value is 65 
  15089. ms. 
  15090.  
  15091. EXAMPLE:            IDLE                    - FAX
  15092.                 (load word value in buffer_area)- Host
  15093.                 DTMF_ON_TIME_COMMAND     - Host
  15094.                 BOARD_ACK_STATUS        - FAX
  15095.                 PC_ACK                - Host
  15096.                 IDLE_STATUS            - Fax
  15097.  
  15098. RELATED FUNCTIONS:     XMIT_COMMAND, 
  15099.                 DTMF_DIAL_COMMAND, 
  15100.                 DTMF_OFF_TIME_COMMAND
  15101.  
  15102.  
  15103. **************************************************************************
  15104. Enhanced_Mode_Off_Command
  15105. Characteristic        Description
  15106. COMMAND:             Enhanced_Mode_Off_Command
  15107. CODE:                 053H
  15108. CATEGORY:            Configuration - Compatibility
  15109. DIRECTION:            Host to JT Fax
  15110. INPUT to JT:            None
  15111. OUTPUT from JT:        BOARD_ACK
  15112. DEFAULT:            Not applicable
  15113.  
  15114. DESCRIPTION:        The ENHANCED_MODE_OFF_COMMAND allows the JT 
  15115. Fax 14400B to operate in 9600B compatible mode. All status messages, error 
  15116. codes and speeds provided by the 14400B are disabled.
  15117.  
  15118. EXAMPLE:            IDLE                    - FAX
  15119.                 ENHANCED_MODE_OFF_COMMAND - Host
  15120.                 BOARD_ACK_STATUS        - FAX
  15121.                 PC_ACK                - Host
  15122.                 IDLE                    - FAX
  15123.  
  15124. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND, 
  15125.                 FAX_144_MODE_OFF_COMMAND, 
  15126.                 ENHANCED_MODE_ON_COMMAND
  15127.  
  15128.  
  15129. **************************************************************************
  15130. Enhanced_Mode_On_Command
  15131. Characteristic        Description
  15132. COMMAND:             Enhanced_Mode_On_Command
  15133. CODE:                 052H
  15134. CATEGORY:            Configuration - Compatibility
  15135. DIRECTION:            Host to JT Fax
  15136. INPUT to JT:            None
  15137. OUTPUT from JT:        BOARD_ACK
  15138. DEFAULT:            Not applicable
  15139.  
  15140. DESCRIPTION:        The ENHANCED_MODE_ON_COMMAND allows the JT 
  15141. Fax 14400B to operate in enhanced mode. All status messages, error codes and 
  15142. speeds provided by the 14400B are enabled.
  15143.  
  15144. EXAMPLE:            IDLE                    - FAX
  15145.                 ENHANCED_MODE_ON_COMMAND    - Host
  15146.                 BOARD_ACK_STATUS        - FAX
  15147.                 PC_ACK                - Host
  15148.                 IDLE                    - FAX
  15149.  
  15150. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND, 
  15151.                 FAX_144_MODE_ON_COMMAND, 
  15152.                 ENHANCED_MODE_OFF_COMMAND
  15153.  
  15154.  
  15155. **************************************************************************
  15156. EOD_Flag
  15157. Characteristic        Description
  15158. COMMAND:             EOD_Flag
  15159. CODE:                 076H
  15160. CATEGORY:            Voice 
  15161. DIRECTION:            Host to JT Fax
  15162. INPUT to JT:            None
  15163. OUTPUT from JT:        None
  15164. DEFAULT:            Not applicable
  15165.  
  15166. DESCRIPTION:        The EOD_FLAG terminates the DTMF search. Any 
  15167. other command can be issued after this command sequence is complete.
  15168.  
  15169. EXAMPLE:            IDLE                    - FAX
  15170.                 GET_DTMF_COMMAND        - Host
  15171.                 BOARD_ACK_COMMAND        - FAX
  15172.                 ...byte in data_area            - FAX
  15173.                 DTMF_DETECT_STATUS        - FAX
  15174.                 ...retrieve byte from data_area    - Host
  15175.                 PC_ACK                - Host
  15176.                 ...continue looking  for DTMF    - FAX
  15177.                     .
  15178.                     .
  15179.                     .
  15180.                 EOD_FLAG                - HOST
  15181.                 BOARD_ACK_COMMAND        - FAX
  15182.                 PC_ACK                - Host
  15183.                 IDLE                    - FAX
  15184.  
  15185. RELATED FUNCTIONS:     "Voice and DTMF"
  15186.  
  15187.  
  15188. **************************************************************************
  15189. EOPFLAG
  15190. Characteristic        Description
  15191. COMMAND:             EOPFLAG
  15192. CODE:                 08H
  15193. CATEGORY:            Fax 
  15194. DIRECTION:            JT Fax to Host
  15195. INPUT to JT:            None
  15196. OUTPUT from JT:        None
  15197. DEFAULT:            Not applicable
  15198.  
  15199. DESCRIPTION:    EOPFLAG signifies that an end of page is necessary. The 
  15200. Host may elect to use the LINE_COUNT field in the API block for setting an end 
  15201. of page. The Fax page is transmitted until the line count is reached ( MIN_PAGE 
  15202. = non zero) and an EOP is issued to the called device. If the FAX page was short 
  15203. and a standard page length is used, then the LINECOUNT field sets the page 
  15204. length (MIN_PAGE = 0). All pages are the length of LINECOUNT.
  15205.  
  15206. When using the EOPFLAG a PC_ACK command is not necessary.
  15207.  
  15208. EXAMPLE:            LOAD_DATA_COMMAND        - FAX
  15209.                 ...load data                 - Host
  15210.                 PC_ACK                 - Host
  15211.                 LOAD_DATA_COMMAND        - FAX
  15212.                 ...load data                 - Host
  15213.                 PC_ACK                 - Host
  15214.                      .
  15215.                      .
  15216.                      .
  15217.                 LOAD_DATA_COMMAND        - FAX
  15218.                 ...load data                 - Host
  15219.                 EOPFLAG                - Host
  15220.                 LOAD_DATA_COMMAND        - FAX
  15221.                      .
  15222.                      .
  15223.                      .
  15224.  
  15225. RELATED FUNCTIONS:     LOAD_DATA_COMMAND, 
  15226.                 EOTFLAG
  15227.  
  15228.  
  15229. **************************************************************************
  15230. EOTFLAG
  15231. Characteristic        Description
  15232. COMMAND:             EOTFLAG
  15233. CODE:                 0FH
  15234. CATEGORY:            Fax 
  15235. DIRECTION:            JT Fax to Host
  15236. Host to JT Fax
  15237. INPUT to JT:            None
  15238. OUTPUT from JT:        None
  15239. DEFAULT:            Not applicable
  15240.  
  15241. DESCRIPTION:        EOTFLAG signifies an end of data transfer. The Fax 
  15242. command can be issued from either the Host or JT Fax. The Host issues the 
  15243. command in the XMIT_MODE to end data transmission, or in downloadable fonts 
  15244. to end the font download. The JT Fax issues the command to end a Fax reception.
  15245.  
  15246. EXAMPLE:            IDLE                    - FAX
  15247.                 (load phone number 
  15248.                 in buffer area)             - Host
  15249.                 XMIT_COMMAND             - Host
  15250.                 BOARD_ACK_STATUS        - FAX
  15251.                 ...load header            - Host
  15252.                 PC_ACK                 - Host
  15253.                 LOAD_DATA_COMMAND        - FAX
  15254.                 ...load data and set format        - Host
  15255.                 ...set number bytes            - Host
  15256.                 PC_ACK                 - Host
  15257.                 LOAD_DATA_COMMAND        - FAX
  15258.                 ...load data                 - Host
  15259.                 EOTFLAG                 - Host
  15260.                      .
  15261.                      .
  15262.                      .
  15263.                 IDLE                     - FAX
  15264.  
  15265. RELATED FUNCTIONS:     XMIT_COMMAND, 
  15266.                 LOAD_DATA_COMMAND, 
  15267.                 RECVINIT, 
  15268.                 LOADFONT_COMMAND, 
  15269.                 "Error Codes╙, 
  15270.                 EOV_FLAG
  15271.  
  15272.  
  15273. **************************************************************************
  15274. EOV_FLAG
  15275. Characteristic        Description
  15276. COMMAND:             EOV_FLAG
  15277. CODE:                 066H
  15278. CATEGORY:            Voice
  15279. DIRECTION:            Host to JT Fax
  15280. INPUT to JT:            None
  15281. OUTPUT from JT:        Recorded data in DATA_AREA
  15282.                 LOAD_DATA_COMMAND
  15283. DEFAULT:            Not applicable
  15284.  
  15285. DESCRIPTION:    The EOV_FLAG notifies the Host/Fax that the last buffer of 
  15286. data is in the DATA_AREA. This command is issued after a 
  15287. PLAY_START_COMMAND sequence. The command is used for voice data only. 
  15288.  
  15289. EXAMPLE:            REC_START_COMMAND        - Host
  15290.                 BOARD_ACK_COMMAND        - FAX
  15291.                 ...load data in DATA_AREA        - FAX
  15292.                 ...set number bytes            - FAX
  15293.                 LOAD_DATA_COMMAND        - FAX
  15294.                 ...load data from DATA_AREA    - Host
  15295.                 PC_ACK                - Host
  15296.                 ...load data in DATA_AREA        - FAX
  15297.                 ...set number bytes            - FAX
  15298.                 LOAD_DATA_COMMAND        - FAX
  15299.                 ...load data from DATA_AREA    - Host
  15300.                 REC_STOP_COMMAND        - Host
  15301.                 ...load data in DATA_AREA        - FAX
  15302.                 ...set number bytes            - FAX
  15303.                 EOV_FLAG                 - FAX
  15304.                 ...load data from  DATA_AREA    - Host
  15305.                 PC_ACK                - Host
  15306.                 IDLE                     - FAX
  15307.  
  15308. RELATED FUNCTIONS:     "Voice and DTMF", 
  15309.                 REC_START_COMMAND, 
  15310.                 RECVINIT_COMMAND
  15311.  
  15312.  
  15313. **************************************************************************
  15314. Error
  15315. Characteristic        Description
  15316. COMMAND:             Error
  15317. CODE:                 06H
  15318. CATEGORY:            Status
  15319. DIRECTION:            JT Fax to Host
  15320. INPUT to JT:            IDLE
  15321. OUTPUT from JT:        RET_CODE contains error code
  15322. DEFAULT:            Not applicable
  15323.  
  15324. DESCRIPTION:        ERROR signifies that an error has occurred. The 
  15325. type of error can be retrieved from the RET_CODE field. ERROR does require the 
  15326. host to reset the COMMAND_DATA field to IDLE when the error code is read.
  15327.  
  15328. EXAMPLE:        IDLE                        - FAX
  15329.             (load phone number in buffer area)    - Host
  15330.             XMIT_COMMAND                 - Host
  15331.             BOARD_ACK_STATUS            - FAX
  15332.             ...load header                - Host
  15333.             PC_ACK                     - Host
  15334.             LOAD_DATA_COMMAND            - FAX
  15335.             ...load data and set format            - Host
  15336.             ...set number bytes                - Host
  15337.             PC_ACK                     - Host
  15338.             LOAD_DATA_COMMAND            - FAX
  15339.             ...load data                     - Host
  15340.             PC_ACK                    - Host
  15341.                 .
  15342.                 .
  15343.                 .
  15344.             ERROR                     - JT Fax
  15345.             BUSY(ret_code field)            - JT Fax
  15346.             (check ret_code)                - Host
  15347.             IDLE                         - Host
  15348.  
  15349. RELATED FUNCTIONS:     XMIT_COMMAND, 
  15350.                 LOAD_DATA_COMMAND, 
  15351.                 RECVINIT,
  15352.                 Error Codes
  15353.  
  15354.  
  15355. **************************************************************************
  15356. Extend_Status_Off_Command
  15357. Characteristic    Description
  15358. COMMAND:         Extend_Status_Off_Command
  15359. CODE:             04FH
  15360. CATEGORY:        Configuration - Compatibility
  15361. DIRECTION:        Host to JT Fax
  15362. INPUT to JT:        None
  15363. OUTPUT from JT:    BOARD_ACK
  15364. DEFAULT:        Not applicable
  15365.  
  15366. DESCRIPTION:    The EXTEND_STATUS_OFF_COMMAND disables the extended 
  15367. status available to the Host with the JT Fax 14400B. The status codes do not 
  15368. appear in the STATUS field of the API block and the status command is not 
  15369. issued.
  15370.  
  15371. EXAMPLE:        IDLE                        - FAX
  15372.             EXTEND_STATUS_OFF_COMMAND        - Host
  15373.             BOARD_ACK_STATUS            - FAX
  15374.             PC_ACK                    - Host
  15375.             IDLE                        - FAX
  15376.  
  15377. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND,
  15378.                 STATUS_COMMAND
  15379.  
  15380.  
  15381. **************************************************************************
  15382. Extend_Status_On_Command
  15383. Characteristic    Description
  15384. COMMAND:         Extend_Status_On_Command
  15385. CODE:             04EH
  15386. CATEGORY:        Configuration - Compatibility
  15387. DIRECTION:        Host to JT Fax
  15388. INPUT to JT:        None
  15389. OUTPUT from JT:    BOARD_ACK
  15390. DEFAULT:        Not applicable
  15391.  
  15392. DESCRIPTION:    The EXTEND_STATUS_ON command enables the 
  15393. extended status available to the Host with the JT Fax 14400B. The status codes 
  15394. appear in the STATUS field of the API block after the status command is issued.
  15395.  
  15396. EXAMPLE:        IDLE                        - FAX
  15397.             EXTEND_STATUS_ON_COMMAND        - Host
  15398.             BOARD_ACK_STATUS            - FAX
  15399.             PC_ACK                    - Host
  15400.             IDLE                        - FAX
  15401.  
  15402. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND,
  15403.                 STATUS_COMMAND
  15404.  
  15405.  
  15406. **************************************************************************
  15407. FAX_144_Mode_Off_Command
  15408. Characteristic    Description
  15409. COMMAND:         FAX_144_Mode_Off_Command
  15410. CODE:             051H
  15411. CATEGORY:        Configuration - Compatibility
  15412. DIRECTION:        Host to JT Fax
  15413. INPUT to JT:        None
  15414. OUTPUT from JT:    BOARD_ACK
  15415. DEFAULT:        Not applicable
  15416.  
  15417. DESCRIPTION:    The FAX_144_MODE_OFF_COMMAND allows the JT Fax 14400B 
  15418. to be compatible with the JT Fax 9600B. This command is included due to the 
  15419. change in the speed indexes for 14,400 bps.
  15420.  
  15421. EXAMPLE:        IDLE                        - FAX
  15422.             FAX_144_MODE_OFF_COMMAND        - Host
  15423.             BOARD_ACK_STATUS            - FAX
  15424.             PC_ACK                    - Host
  15425.             IDLE                        - FAX
  15426.  
  15427. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND,
  15428.                 FAX_144_MODE_ON_COMMAND, 
  15429.                 ENHANCED_MODE_OFF_COMMAND
  15430.  
  15431.  
  15432. **************************************************************************
  15433. FAX_144_Mode_On_Command
  15434. Characteristic    Description
  15435. COMMAND:         FAX_144_Mode_On_Command
  15436. CODE:             050H
  15437. CATEGORY:        Configuration - Compatibility
  15438. DIRECTION:        Host to JT Fax
  15439. INPUT to JT:        None
  15440. OUTPUT from JT:    BOARD_ACK
  15441. DEFAULT:        Not applicable
  15442.  
  15443. DESCRIPTION:    The FAX_144_MODE_ON_COMMAND allows the JT Fax 14400B 
  15444. to enable reception of Faxes at the 14,400 bps rate. This command is included 
  15445. due to the change in the speed indexes for 14,400 bps. An index value of 5 in 
  15446. the BAUD_RATE field indicates 14,400 bps and a 4 indicates 12,000 bps. This 
  15447. command only affects the speed.
  15448.  
  15449. EXAMPLE:        IDLE                        - FAX
  15450.             FAX_144_MODE_ON_COMMAND        - Host
  15451.             BOARD_ACK_STATUS            - FAX
  15452.             PC_ACK                    - Host
  15453.             IDLE                        - FAX
  15454.  
  15455. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND,
  15456.                 FAX_144_MODE_OFF_COMMAND, 
  15457.                 ENHANCED_MODE_ON_COMMAND
  15458.  
  15459.  
  15460. **************************************************************************
  15461. FAX_Mode_Command
  15462. Characteristic    Description
  15463. COMMAND:         FAX_Mode_Command
  15464. CODE:             026H
  15465. CATEGORY:        Configuration
  15466. DIRECTION:        Host to JT Fax
  15467. INPUT to JT:        None
  15468. OUTPUT from JT:    BOARD_ACK_STATUS
  15469. DEFAULT:        MODEM MODE in Command State
  15470.             FAX MODE is automatic with Fax commands
  15471.  
  15472. DESCRIPTION:    The FAX_MODE_COMMAND is required for all Utility 
  15473. commands. The command also allows JT Fax to control the Telco line interface 
  15474. instead of requiring OEM daughter cards. PC Bus access is available in both Fax 
  15475. and Modem mode. If a daughter card is not attached, Modem mode will not be 
  15476. necessary for JT Fax.
  15477.  
  15478. EXAMPLE:            IDLE                    - FAX
  15479.                 FAX_MODE_COMMAND         - Host
  15480.                 BOARD_ACK_STATUS        - FAX
  15481.                 PC_ACK                - Host
  15482.                 IDLE                     - FAX
  15483.                 OFF_HOOK_COMMAND        - Host
  15484.  
  15485. RELATED FUNCTIONS:     MODEM_MODE_COMMAND, 
  15486.                 "Utility Commands"
  15487.  
  15488.  
  15489. **************************************************************************
  15490. Gain_Down_Command
  15491. Characteristic    Description
  15492. COMMAND:         Gain_Down_Command
  15493. CODE:             068H
  15494. CATEGORY:        Voice - Configuration
  15495. DIRECTION:        Host to JT Fax
  15496. INPUT to JT:        None
  15497. OUTPUT from JT:    BOARD_ACK_COMMAND
  15498. DEFAULT:        43.8 dB
  15499.  
  15500. DESCRIPTION:    The GAIN_DOWN_COMMAND decrements the maximum gain 
  15501. of the voice record by 1 dB. The maximum gain should only be changed during 
  15502. recording to achieve a better quality of voice recording. The value is retained 
  15503. between recordings.
  15504.  
  15505. EXAMPLE:        IDLE                        - FAX
  15506.             GAIN_DOWN_COMMAND            - Host
  15507.             BOARD_ACK_COMMAND            - FAX
  15508.             PC_ACK                    - Host
  15509.             IDLE                        - FAX
  15510.             REC_START_COMMAND            - Host
  15511.             BOARD_ACK_COMMAND            - FAX
  15512.             ...load data in DATA_AREA            - FAX
  15513.             ...set number bytes                - FAX
  15514.             LOAD_DATA_COMMAND            - FAX
  15515.                 .
  15516.                 .
  15517.                 .
  15518.             EOV_FLAG                     - FAX
  15519.             ...load data from DATA_AREA        - Host
  15520.             PC_ACK                    - Host
  15521.             IDLE                        - FAX
  15522.  
  15523. RELATED FUNCTIONS:     "Voice and DTMF", 
  15524.                 REC_START_COMMAND
  15525.  
  15526.  
  15527. **************************************************************************
  15528. Gain_Up_Command
  15529. Characteristic    Description
  15530. COMMAND:         Gain_Up_Command
  15531. CODE:             067H
  15532. CATEGORY:        Voice - Configuration
  15533. DIRECTION:        Host to JT Fax
  15534. INPUT to JT:        None
  15535. OUTPUT from JT:    BOARD_ACK_COMMAND
  15536. DEFAULT:        43.8 dB
  15537.  
  15538. DESCRIPTION:    The GAIN_UP_COMMAND increments the maximum gain of 
  15539. the voice record by 1 dB. The maximum gain should only be changed during 
  15540. recording to achieve a better quality of voice recording. The value is retained 
  15541. between recordings.
  15542.  
  15543. EXAMPLE:        IDLE                        - FAX
  15544.             GAIN_UP_COMMAND            - Host
  15545.             BOARD_ACK_COMMAND            - FAX
  15546.             PC_ACK                    - Host
  15547.             IDLE                        - FAX
  15548.             REC_START_COMMAND            - Host
  15549.             BOARD_ACK_COMMAND            - FAX
  15550.             ...load data in DATA_AREA            - FAX
  15551.             ...set number bytes                - FAX
  15552.             LOAD_DATA_COMMAND            - FAX
  15553.                 .
  15554.                 .
  15555.                 .
  15556.             EOV_FLAG                     - FAX
  15557.             ...load data from DATA_AREA        - Host
  15558.             PC_ACK                    - Host
  15559.             IDLE                         - FAX
  15560.  
  15561. RELATED FUNCTIONS:     "Voice and DTMF", 
  15562.                 REC_START_COMMAND
  15563.  
  15564.  
  15565. **************************************************************************
  15566. Get_DTMF_Command
  15567. Characteristic    Description
  15568. COMMAND:         Get_DTMF_Command
  15569. CODE:             075H
  15570. CATEGORY:        Voice 
  15571. DIRECTION:        Host to JT Fax
  15572. INPUT to JT:        None
  15573. OUTPUT from JT:    Byte value in DATA_AREA
  15574. DEFAULT:        Not applicable
  15575. DESCRIPTION:    The GET_DTMF_COMMAND can also be used in command 
  15576. state. The command initiates DTMF mode and continually searches for DTMF 
  15577. tones. The EOD_FLAG terminates the DTMF search. Any other command can be 
  15578. issued after this command. The "on/off hook" is controlled by the Host. 
  15579.  
  15580. EXAMPLE:        IDLE                        - FAX
  15581.             GET_DTMF_COMMAND            - Host
  15582.             BOARD_ACK_STATUS            - FAX
  15583.             ...byte in data_area                - FAX
  15584.             DTMF_DETECT_STATUS            - FAX
  15585.             ...retrieve byte from data_area        - Host
  15586.             PC_ACK                    - Host
  15587.             ...continue looking for DTMF        - FAX
  15588.                 .
  15589.                 .
  15590.                 .
  15591.             EOD_FLAG                    - HOST
  15592.             BOARD_ACK_COMMAND            - FAX
  15593.             PC_ACK                    - Host
  15594.             IDLE                        - FAX
  15595.  
  15596. RELATED FUNCTIONS:     "Voice and DTMF", 
  15597.                 EOD_FLAG
  15598.  
  15599.  
  15600. **************************************************************************
  15601. Good_Init
  15602. Characteristic    Description
  15603. COMMAND:         Good_Init
  15604. CODE:             0F0H
  15605. CATEGORY:        FAX - Compatibility 
  15606. DIRECTION:        JT Fax to Host
  15607. INPUT to JT:        None
  15608. OUTPUT from JT:    None
  15609. DEFAULT:        Not applicable
  15610.  
  15611. DESCRIPTION:    The GOOD_INIT command is issued after a 
  15612. BOARD_SYNC_COMMAND is received following power up. It indicates that the 
  15613. FAX is ready for commands and the ROM/RAM test was good.
  15614.  
  15615. EXAMPLE:        BOARD_SYNC_COMMAND            - Host
  15616.             GOOD_INIT                    - FAX
  15617.             PC_ACK                    - Host
  15618.             IDLE                        - FAX
  15619.  
  15620. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  15621.                 HARDWARE_RESET_COMMAND
  15622.  
  15623.  
  15624. **************************************************************************
  15625. Hardware_Reset_Command
  15626. Characteristic    Description
  15627. COMMAND:         Hardware_Reset_Command
  15628. CODE:             030H
  15629. CATEGORY:        Control
  15630. DIRECTION:        Host to JT Fax
  15631. INPUT to JT:        None
  15632. OUTPUT from JT:    None
  15633. DEFAULT:        Not applicable
  15634.  
  15635. DESCRIPTION:    The HARDWARE_RESET_COMMAND instructs JT Fax to 
  15636. initiate a "power on reset" function. The command is placed in the API block 
  15637. location, RESET_BOARD, at offset 51H. When RESET_BOARD is set to a 
  15638. HARDWARE_RESET_COMMAND, then the following happens:
  15639.  
  15640.     Ñ    RAM and ROM test is executed
  15641.     Ñ    data pump is reset, memory cleared 
  15642.     Ñ    all options set to default conditions. 
  15643.  
  15644. After six seconds, JT Fax starts waiting for a SYNC_COMMAND from the Host. A 
  15645. SYNC_COMMAND must be issued by the Host before any commands can be 
  15646. accepted. 
  15647.  
  15648. Note: This command should be used a last resort because it resets the JT Fax 
  15649. hardware and all user configurations to default.
  15650.  
  15651. EXAMPLE:        IDLE                        - FAX
  15652.             HARDWARE_RESET_COMMAND        - Host
  15653.             (wait for 6 seconds)
  15654.             SYNC_COMMAND                - Host
  15655.             IDLE_STATUS                - FAX
  15656.  
  15657. RELATED FUNCTIONS:     SYNC_COMMAND, 
  15658.                 SOFTWARE_RESET_COMMAND
  15659.  
  15660.  
  15661. **************************************************************************
  15662. Idle_Status
  15663. Characteristic    Description
  15664. COMMAND:         Idle_Status
  15665. CODE:             01H
  15666. CATEGORY:        Status
  15667. DIRECTION:        JT Fax to Host
  15668.             Host to JT Fax
  15669. INPUT to JT:        None
  15670. OUTPUT from JT:    None
  15671. DEFAULT:        Not applicable
  15672.  
  15673. DESCRIPTION:    IDLE_STATUS is a compatibility status code/command. The 
  15674. command is issued to reset the Command field. The command is used by the Host 
  15675. in response to a BOARD_ACK_STATUS, or by JT Fax in response to a PC_ACK 
  15676. command or when in command state waiting for command. This command 
  15677. should only be used while in command state.
  15678.  
  15679. EXAMPLE:        IDLE                        - FAX
  15680.             (load time in buffer area            - Host
  15681.             SET_CARRIER_COMMAND             - Host
  15682.             BOARD_ACK_STATUS            - FAX
  15683.             PC_ACK                    - Host
  15684.             IDLE                        - Host
  15685.  
  15686. RELATED FUNCTIONS:     BOARD_ACK_STATUS, 
  15687.                 PC_ACK
  15688.  
  15689.  
  15690. **************************************************************************
  15691. Load_Data_Command
  15692. Characteristic    Description
  15693. COMMAND:         Load_Data_Command
  15694. CODE:             03H
  15695. CATEGORY:        FAX 
  15696. DIRECTION:        JT Fax to Host
  15697. INPUT to JT:        Data in DATA_AREA
  15698.             PC_ACK
  15699.             EOTFLAG 
  15700.             EOPFLAG
  15701. OUTPUT from JT:    none 
  15702.             LOAD_DATA_COMMAND
  15703.             EOTFLAG (receive mode only)
  15704. DEFAULT:        Not applicable
  15705.  
  15706. DESCRIPTION:    The LOAD_DATA_COMMAND is used when large amounts of 
  15707. data are needed. The direction of the load depends on the mode selected. 
  15708.  
  15709. If in TRANSMIT_MODE, the load data command is issued by JT Fax to indicate 
  15710. that data is ready to be received from the Host in the DATA_AREA. Once all the 
  15711. data has been placed in the DATA_AREA, the Host issues a PC_ACK. 
  15712.  
  15713. In the RECEIVE_MODE, the command is issued by JT Fax to alert the Host that 
  15714. data is available in the data area to be retrieved. After the Host retrieves the 
  15715. data, the host issues a PC_ACK.
  15716.  
  15717. EXAMPLE:        RECEIVE_MODE only
  15718.             RECVINIT                    - JT Fax
  15719.             (Host load ID in Buffer Area)
  15720.             PC_ACK                    - Host
  15721.             LOAD_DATA_COMMAND            - JT Fax
  15722.             (Host retrieves data)
  15723.             PC_ACK                    - Host
  15724.                 .
  15725.                 .
  15726.                 .
  15727.             EOT                        - JT Fax
  15728.  
  15729. RELATED FUNCTIONS:     EOT_FLAG, 
  15730.                 RECVINIT, 
  15731.                 PC_ACK
  15732.  
  15733.  
  15734. **************************************************************************
  15735. Load_Font_Command
  15736. Characteristic    Description
  15737. COMMAND:         Load_Font_Command
  15738. CODE:             04H
  15739. CATEGORY:        FAX 
  15740. DIRECTION:        Host to JT Fax
  15741. INPUT to JT:        Font Data in DATA_AREA
  15742.             EOTFLAG
  15743. OUTPUT from JT:    BOARD_ACK
  15744.             FONT_TOO_LARGE
  15745. DEFAULT:        Not applicable
  15746.  
  15747. DESCRIPTION:    The LOAD_FONT_COMMAND is used to load the predefined JT 
  15748. Fax fonts or a user designed font (see Chapter 7). The font would be used only 
  15749. in transmit mode and file type ASCII_TYPE. Since the font data is larger than 
  15750. the DATA area several LOAD_DATA_COMMANDS would be issued by JT Fax.
  15751.  
  15752. Issuing a HARD_RESET_COMMAND destroys a soft font, requiring a reload. 
  15753. Issuing a SOFT_RESET_COMMAND does not destroy a soft font.
  15754.  
  15755. EXAMPLE:        LOAD_FONT_COMMAND            - Host
  15756.             LOAD_DATA_COMMAND            - JT Fax
  15757.             ...load data in data_area            - Host
  15758.             PC_ACK                    - Host
  15759.             LOAD_DATA_COMMAND            - JT Fax
  15760.                 .
  15761.                 .
  15762.                 .
  15763.             EOT                        - Host
  15764.  
  15765. RELATED FUNCTIONS:     PC_ACK, EOT, 
  15766.                 LOAD_DATA_COMMAND, 
  15767.                 "JT Fax Fonts"
  15768.  
  15769.  
  15770. **************************************************************************
  15771. Manual_REC_Command
  15772. Characteristic    Description
  15773. COMMAND:         MANUAL_REC_COMMAND
  15774. CODE:             10H
  15775. CATEGORY:        Fax
  15776. DIRECTION:        Host to JT Fax 
  15777. INPUT to JT:        None
  15778. OUTPUT from JT:    BOARD_ACK
  15779. DEFAULT:        Not applicable
  15780.  
  15781. DESCRIPTION:    Manual receive enables the Host to force JT Fax to answer a 
  15782. call. The EXTEND_STATUS mode must be enabled before the STATUS command is 
  15783. received. A RING status appears in the STATUS_CODE field. After the status is 
  15784. retrieved, the Host returns the COMMAND field to IDLE.
  15785.  
  15786. EXAMPLE:        IDLE                        - FAX
  15787.             STATUS_COMMAND                - FAX
  15788.             ...retrieve status code ╥RING╙        - Host
  15789.             MANUAL_REC_COMMAND            - Host
  15790.             BOARD_ACK_STATUS            - FAX
  15791.             PC_ACK                    - Host
  15792.             LOAD_DATA_COMMAND            - FAX
  15793.             ...load data                     - Host
  15794.             PC_ACK                     - Host
  15795.             LOAD_DATA_COMMAND            - FAX
  15796.             ...load data                     - Host
  15797.             PC_ACK                     - Host
  15798.                  .
  15799.                  .
  15800.                  .
  15801.  
  15802. RELATED FUNCTIONS:     "Status Codes", 
  15803.                 STATUS_COMMAND
  15804.  
  15805.  
  15806. **************************************************************************
  15807. Modem_Mode_Command
  15808. Characteristic    Description
  15809. COMMAND:         Modem_Mode_Command
  15810. CODE:             027H
  15811. CATEGORY:        Configuration
  15812. DIRECTION:        Host to JT Fax
  15813. INPUT to JT:        None
  15814. OUTPUT from JT:    BOARD_ACK_STATUS
  15815. DEFAULT:        MODEM MODE in Command State
  15816.             FAX MODE is automatic with FAX commands
  15817.  
  15818. DESCRIPTION:        The MODEM_MODE_COMMAND is required to remove 
  15819. the previous FAX_MODE_COMMAND. The command also allows the OEM daughter 
  15820. Card to control the Telco line interface instead of JT Fax. PC Bus access is 
  15821. available in both Fax mode and Modem mode. If a Daughter card is not attached, 
  15822. Modem mode will not be necessary for JT Fax.
  15823.  
  15824. EXAMPLE:        IDLE                        - FAX
  15825.             FAX_MODE_COMMAND             - Host
  15826.             BOARD_ACK_STATUS            - FAX
  15827.             PC_ACK                    - Host
  15828.             IDLE                         - FAX
  15829.             OFF_HOOK_COMMAND            - Host
  15830.             BOARD_ACK_STATUS            - FAX
  15831.             PC_ACK                    - Host
  15832.             IDLE                         - FAX
  15833.             MODEM_MODE_COMMAND            - Host
  15834.             BOARD_ACK_STATUS            - FAX
  15835.             PC_ACK                    - Host
  15836.             IDLE                         - FAX
  15837.  
  15838. RELATED FUNCTIONS:     FAX_MODE_COMMAND
  15839.  
  15840.  
  15841. **************************************************************************
  15842. No_Busy_Command
  15843. Characteristic    Description
  15844. COMMAND:         No_Busy_Command
  15845. CODE:             02EH
  15846. CATEGORY:        Configuration 
  15847. DIRECTION:        Host to JT Fax
  15848. INPUT to JT:        None
  15849. OUTPUT from JT:    BOARD_ACK_STATUS
  15850. DEFAULT:        Detect Busy
  15851.  
  15852. DESCRIPTION:    The NO_BUSY_COMMAND instructs the JT Fax to ignore the 
  15853. busy signal.
  15854.  
  15855. EXAMPLE:        IDLE                        - FAX
  15856.             NO_BUSY_COMMAND             - Host
  15857.             BOARD_ACK_STATUS            - FAX
  15858.             PC_ACK                    - Host
  15859.             IDLE_STATUS                - Fax
  15860.  
  15861. RELATED FUNCTIONS:     XMIT_COMMAND, 
  15862.                 PULSE_DIAL_COMMAND, 
  15863.                 DTMF_DIAL_COMMAND
  15864.  
  15865.  
  15866. **************************************************************************
  15867. OEM_Code_Command
  15868. Characteristic    Description
  15869. COMMAND:         OEM_Code_Command
  15870. CODE:             079H
  15871. CATEGORY:        Utility 
  15872. DIRECTION:        Host to JT Fax
  15873. INPUT to JT:        None
  15874. OUTPUT from JT:    None
  15875. DEFAULT:        Not applicable
  15876.  
  15877. DESCRIPTION:    The OEM_CODE_COMMAND executes Host code that was 
  15878. downloaded to the Fax. The Fax utilizes a 16 MHz processor. The 
  15879. OEM_CODE_COMMAND executes custom assembly language code for the Host. The 
  15880. OEM code and data can be no larger than 28 KB. The OEM code has access to the 
  15881. command byte structure at 0:8000H. The code segment must be "0" and the code 
  15882. or data must start at 0:8800H. Additional 3K of RAM is available at 0:67D0H. (See 
  15883. Appendix F).
  15884.  
  15885. EXAMPLE:        IDLE                        - FAX
  15886.             OEM_CODE_COMMAND            - Host
  15887.             ...OEM code executes            - FAX
  15888.             ...OEM code terminates            - FAX
  15889.             BOARD_ACK_COMMAND            - FAX
  15890.             PC_ACK                    - Host
  15891.             IDLE                        - FAX
  15892.  
  15893. RELATED FUNCTIONS:     "OEM CODE ", 
  15894.                 OEM_LOAD_COMMAND
  15895.  
  15896.  
  15897. **************************************************************************
  15898. OEM_Load_Command
  15899. Characteristic    Description
  15900. COMMAND:         OEM_Load_Command
  15901. CODE:             07AH
  15902. CATEGORY:        Utility 
  15903. DIRECTION:        Host to JT Fax
  15904. INPUT to JT:        OEM code in DATA_AREA
  15905. OUTPUT from JT:    LOAD_DATA_COMMAND
  15906.             BOARD_ACK_COMMAND
  15907. DEFAULT:        Not applicable
  15908.  
  15909. DESCRIPTION:    The OEM_LOAD_COMMAND loads the OEM code into the Soft 
  15910. Font RAM. The OEM code and data can be no larger than 28 KB. The 
  15911. OEM_LOAD_COMMAND sequence is similar to the LOADFONT_COMMAND 
  15912. sequence. If the OEM code is larger than the space available, a 
  15913. FONT_TOO_LARGE error is returned. The load aborts when the error is reported. 
  15914. The OEM code remains in RAM until power up or a 
  15915. HARDWARE_RESET_COMMAND or LOAD_FONT_COMMAND is issued.
  15916.  
  15917. Note Soft fonts are not available when using this command.
  15918.  
  15919. EXAMPLE:        IDLE                        - FAX
  15920.             OEM_LOAD_COMMAND            - Host
  15921.             LOAD_DATA_COMMAND            - JT Fax
  15922.             ...Load OEM code into Data_area        - Host
  15923.             PC_ACK                    - Host
  15924.             LOAD_DATA_COMMAND            - JT Fax
  15925.                 .
  15926.                 .
  15927.                 .
  15928.             EOT                        - Host
  15929.             BOARD_ACK_COMMAND            - FAX
  15930.             PC_ACK                    - Host
  15931.             IDLE                        - FAX
  15932.  
  15933. RELATED FUNCTIONS:     "OEM CODE ", 
  15934.                 OEM_CODE_COMMAND, 
  15935.                 LOAD_FONT_COMMAND
  15936.  
  15937.  
  15938.  
  15939. **************************************************************************
  15940. Off_Hook_Command
  15941. Characteristic    Description
  15942. COMMAND:         Off_Hook_Command
  15943. CODE:             025H
  15944. CATEGORY:        Utility
  15945. DIRECTION:        Host to JT Fax
  15946. INPUT to JT:        None
  15947. OUTPUT from JT:    BOARD_ACK_COMMAND
  15948. DEFAULT:        Not applicable
  15949.  
  15950. DESCRIPTION:    The OFF_HOOK_COMMAND forces the JT Fax to go "Off-Hook" 
  15951. (i.e., pickup the phone). The command is used when the Host wants to initiate a 
  15952. dialing sequence (DTMF or Pulse). The OFF_HOOK_COMMAND returns to 
  15953. Command state after completion.
  15954.  
  15955. Note: JT Fax must be in FAX_MODE to use Utility commands.
  15956.  
  15957. EXAMPLE:        IDLE                        - FAX
  15958.             OFF_HOOK_COMMAND            - Host
  15959.             BOARD_ACK_STATUS            - FAX
  15960.             PC_ACK                    - Host
  15961.             IDLE                         - FAX
  15962.  
  15963. RELATED FUNCTIONS:     FAX_MODE_COMMAND, 
  15964.                 ON_HOOK_COMMAND
  15965.  
  15966.  
  15967. **************************************************************************
  15968. On_Hook_Command
  15969. Characteristic    Description
  15970. COMMAND:         On_Hook_Command
  15971. CODE:             024H
  15972. CATEGORY:        Utility
  15973. DIRECTION:        Host to JT Fax
  15974. INPUT to JT:        None
  15975. OUTPUT from JT:    BOARD_ACK_COMMAND
  15976. DEFAULT:        Not applicable
  15977.  
  15978. DESCRIPTION:        The ON_HOOK_COMMAND forces the JT Fax to go "on-
  15979. hook". The command is used after "OFF_HOOK_COMMAND" has been issued when 
  15980. the Host requires a return to "on-hook" condition (i.e., hang-up). The 
  15981. ON_HOOK_COMMAND returns to Command state after completion.
  15982.  
  15983. Note: JT Fax must be in FAX_MODE to use Utility commands.
  15984.  
  15985. EXAMPLE:            IDLE                    - FAX
  15986.                 ON_HOOK_COMMAND        - Host
  15987.                 BOARD_ACK_STATUS        - FAX
  15988.                 PC_ACK                - Host
  15989.                 IDLE                     - FAX
  15990.  
  15991. RELATED FUNCTIONS:     FAX_MODE_COMMAND, 
  15992.                 OFF_HOOK_COMMAND
  15993.  
  15994.  
  15995. **************************************************************************
  15996. Online_Voice_Record_Off
  15997. Characteristic    Description
  15998. COMMAND:         Online_Voice_Record_Off
  15999. CODE:             78H
  16000. CATEGORY:        Voice - Configuration 
  16001. DIRECTION:        Host to JT Fax
  16002. INPUT to JT:        None
  16003. OUTPUT from JT:    None
  16004. DEFAULT:        Off
  16005.  
  16006. DESCRIPTION:    This API command turns the online voice record option 
  16007. off. This command can be issued after the voice message has been received to 
  16008. prevent premature termination of tone or voice greeting messages.
  16009.  
  16010. EXAMPLE:        IDLE                        - Host
  16011.                 .
  16012.                 .
  16013.                 .
  16014.             ONLINE_VOICE_RECORD_ON        - Host
  16015.             BOARD_ACK                    - FAX
  16016.             PC_ACK                    - Host
  16017.             IDLE                         - FAX
  16018.             REC_START_COMMAND            - Host
  16019.                 .
  16020.                 .
  16021.                 .
  16022.             EOVFLAG                    - FAX
  16023.             ...Load data from Data Area        - Host
  16024.             PC_ACK                    - Host
  16025.             IDLE                         - FAX
  16026.             ONLINE_VOICE_RECORD_OFF        - Host
  16027.             BOARD_ACK                    - FAX
  16028.  
  16029. RELATED FUNCTIONS:     ONLINE_VOICE_RECORD_ON, 
  16030.                 EOVFLAG, 
  16031.                 RECORD_START_COMMAND
  16032.  
  16033.  
  16034. **************************************************************************
  16035. Online_Voice_Record_On
  16036. Characteristic    Description
  16037. COMMAND:         Online_Voice_Record_On
  16038. CODE:             77H
  16039. CATEGORY:        Voice - Configuration 
  16040. DIRECTION:        Host to JT Fax
  16041. INPUT to JT:        None
  16042. OUTPUT from JT:    None
  16043. DEFAULT:        Off
  16044.  
  16045. DESCRIPTION:    This API provides the option to record voice messages 
  16046. while online. The message is terminated after the caller disconnects and dial 
  16047. tone is detected. Since tones in the range of 350-620 Hz cause termination, it is 
  16048. necessary to disable this option during all other recordings.
  16049.  
  16050. EXAMPLE:        IDLE                        - Host
  16051.                 .
  16052.                 .
  16053.                 .
  16054.             SILENCE_DETECTED_STATUS        - FAX
  16055.                 .
  16056.                 .
  16057.                 .
  16058.             ONLINE_VOICE_RECORD_ON        - Host
  16059.             BOARD_ACK                    - FAX
  16060.             PC_ACK                    - Host
  16061.             REC_START_COMMAND            - Host
  16062.                 .
  16063.                 .
  16064.                 .
  16065.             EOVFLAG                    - FAX
  16066.             ...Load data from Data Area        - Host
  16067.             PC_ACK                    - Host
  16068.             IDLE                         - FAX
  16069.  
  16070. RELATED FUNCTIONS:     ONLINE_VOICE_RECORD_OFF, 
  16071.                 EOVFLAG, 
  16072.                 RECORD_START_COMMAND
  16073.  
  16074.  
  16075. **************************************************************************
  16076. PC_ACK
  16077. Characteristic    Description
  16078. COMMAND:         PC_ACK
  16079. CODE:             05H
  16080. CATEGORY:        STATUS handshake
  16081. DIRECTION:        Host to JT Fax
  16082. INPUT to JT:        None
  16083. OUTPUT from JT:    None, Idle
  16084. DEFAULT:        Not applicable
  16085.  
  16086. DESCRIPTION:    The PC_ACK command is used as acknowledgment between 
  16087. the PC software and the JT Fax 14400B. The response is appropriate when 
  16088. receiving a command from the JT Fax 14400 B Dual board. A PC_ACK does not 
  16089. require a response from the JT Fax 14400B Dual board.
  16090.  
  16091. EXAMPLE:            .
  16092.                 .
  16093.                 .
  16094.             GET_DTMF_COMMAND            - Host
  16095.             BOARD_ACK_STATUS            - JT Fax
  16096.             DTMF_DETECT_STATUS            - JT Fax
  16097.                 (retrieve DTMF code)
  16098.             PC_ACK                    - Host
  16099.     .
  16100.     .
  16101.     .
  16102.  
  16103. RELATED FUNCTIONS:     LOAD_DATA_COMMAND, 
  16104.                 RECVINIT, 
  16105.                 LOAD_FONT_COMMAND, 
  16106.                 BOARD_ACK_STATUS
  16107.  
  16108.  
  16109. **************************************************************************
  16110. Play_End_Command
  16111. Characteristic    Description
  16112. COMMAND:         Play_End_Command
  16113. CODE:             063H
  16114. CATEGORY:        Voice
  16115. DIRECTION:        Host to JT Fax
  16116. INPUT to JT:        None
  16117. OUTPUT from JT:    BOARD_ACK_STATUS
  16118. DEFAULT:        Not applicable
  16119.  
  16120. DESCRIPTION:    The PLAY_END_COMMAND stops the playback of a voice file 
  16121. in voice mode. The current buffer is deleted and the voice transmission is 
  16122. halted.
  16123.  
  16124. EXAMPLE:        PLAY_START_COMMAND            - Host
  16125.             BOARD_ACK_COMMAND            - FAX
  16126.             PC_ACK                    - Host
  16127.             LOAD_DATA_COMMAND            - FAX
  16128.             ...load data in DATA_AREA            - Host
  16129.             ...set number bytes                - Host
  16130.             PC_ACK                    - Host
  16131.             LOAD_DATA_COMMAND            - FAX
  16132.             PLAY_END_COMMAND            - Host
  16133.             BOARD_ACK_COMMAND            - FAX
  16134.             PC_ACK                    - Host
  16135.             IDLE                         - FAX
  16136.  
  16137. RELATED FUNCTIONS:     "Voice and DTMF", 
  16138.                 PLAY_START_COMMAND, 
  16139.                 EOV_FLAG
  16140.  
  16141.  
  16142. **************************************************************************
  16143. Play_Start_Command
  16144. Characteristic    Description
  16145. COMMAND:         Play_Start_Command
  16146. CODE:             062H
  16147. CATEGORY:        Voice 
  16148. DIRECTION:        Host to JT Fax
  16149. INPUT to JT:        Binary Voice data in DATA_AREA
  16150. OUTPUT from JT:    BOARD_ACK_STATUS
  16151. DEFAULT:        Not applicable
  16152.  
  16153. DESCRIPTION:    The PLAY_START_COMMAND initiates the playing of a 
  16154. recorded voice file. The command sequence is similar to a XMIT_COMMAND. An 
  16155. EOV_FLAG is issued when the last voice data is entered in DATA_AREA. The 
  16156. timing for loading data is the same as XMIT_COMMAND for JT Fax data formats.
  16157.  
  16158. EXAMPLE:        PLAY_START_COMMAND            - Host
  16159.             BOARD_ACK_COMMAND            - FAX
  16160.             PC_ACK                    - Host
  16161.             LOAD_DATA_COMMAND            - FAX
  16162.             ...load data in DATA_AREA            - Host
  16163.             ...set number bytes                - Host
  16164.             PC_ACK                    - Host
  16165.             LOAD_DATA_COMMAND            - FAX
  16166.             ...load data in DATA_AREA            - Host
  16167.             ...set number bytes                - Host
  16168.             PC_ACK                    - Host
  16169.             LOAD_DATA_COMMAND            - FAX
  16170.             ...load data in DATA_AREA            - Host
  16171.             ...set number bytes                - Host
  16172.             EOV_FLAG                    - Host    
  16173.             BOARD_ACK_COMMAND            - FAX
  16174.             PC_ACK                    - Host
  16175.             IDLE                         - FAX
  16176.  
  16177. RELATED FUNCTIONS:     "Voice and DTMF", 
  16178.                 CNG_DETECT_ON_COMMAND, 
  16179.                 ERRFLAG, 
  16180.                 NO_CNG_DETECT_ERROR, 
  16181.                 PLAY_STOP_COMMAND, 
  16182.                 EOV_FLAG
  16183.  
  16184.  
  16185. **************************************************************************
  16186. Pulse_Break_Command
  16187. Characteristic    Description
  16188. COMMAND:         Pulse_Break_Command
  16189. CODE:             03AH
  16190. CATEGORY:        Configuration
  16191. DIRECTION:        Host to JT Fax
  16192. INPUT to JT:        Word value in Buffer_Area in milliseconds
  16193. OUTPUT from JT:    BOARD_ACK_STATUS
  16194. DEFAULT:        60 milliseconds
  16195.  
  16196. DESCRIPTION:    The PULSE_BREAK_COMMAND requires the Host to set the 
  16197. value of the "BREAK" portion of the make/break ratio for pulse dialing. The 
  16198. value is written into buffer_area before the command is issued.
  16199.  
  16200. EXAMPLE:        IDLE                        - FAX
  16201.             PULSE_BREAK_COMMAND            - Host
  16202.             BOARD_ACK_STATUS            - FAX
  16203.             PC_ACK                    - Host
  16204.             IDLE                        - FAX
  16205.  
  16206. RELATED FUNCTIONS:     PULSE_MAKE_COMMAND, 
  16207.                 PULSE_DIAL_COMMAND
  16208.  
  16209.  
  16210. **************************************************************************
  16211. Pulse_Dial_Command
  16212. Characteristic    Description
  16213. COMMAND:         Pulse_Dial_Command
  16214. CODE:             02DH
  16215. CATEGORY:        Utility 
  16216. DIRECTION:        Host to JT Fax
  16217. INPUT to JT:        Pulse number at OFFSET 00H in buffer_area
  16218. Max. number length 60 characters.
  16219. OUTPUT from JT:    BOARD_ACK_STATUS
  16220. DEFAULT:        Not applicable
  16221.  
  16222. DESCRIPTION:    PULSE_DIAL_COMMAND dials the phone number at 
  16223. BUFFER_AREA. The command does not connect the phone line. The line must be 
  16224. connected with an OFF_HOOK_COMMAND. The dial string has several digits and 
  16225. modifiers. The DTMF digits supported are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. The dial 
  16226. modifiers are:
  16227.  
  16228. JT Fax 9600B COMPATIBILITY
  16229. -------------------------------
  16230. First byte: 
  16231.     'P' - Pulse Dial
  16232.     'T' - Tone Dial 
  16233. Second byte: 
  16234.     'W' - Wait for Dial Tone 
  16235.     ' ' - Do not Wait 
  16236.  
  16237. If the first two bytes are 'MA' (Manual Dial) a number will not be dialed.
  16238.  
  16239. JT Fax 14400B
  16240. ---------------------------
  16241. P    - pulse dial
  16242. T    - tone dial
  16243. W    - wait for dialtone
  16244. ,    - 2 second pause
  16245. !    - flash hook
  16246. I    - no busy detect
  16247.  
  16248. Note: JT Fax must be in Fax mode for Utility commands.
  16249.  
  16250. EXAMPLE:        IDLE                        - FAX
  16251.             (load string value in buffer_area)    - Host
  16252.             PULSE_DIAL_COMMAND             - Host
  16253.             BOARD_ACK_STATUS            - FAX
  16254.             PC_ACK                    - Host
  16255.             IDLE_STATUS                - Fax
  16256.     
  16257. RELATED FUNCTIONS:     XMIT_COMMAND, 
  16258.                 PULSE_INTER_COMMAND
  16259.  
  16260.  
  16261. **************************************************************************
  16262. Pulse_Inter_Command
  16263. Characteristic    Description
  16264. COMMAND:         Pulse_Inter_Command
  16265. CODE:             032H
  16266. CATEGORY:        Configuration
  16267. DIRECTION:        Host to JT Fax
  16268. INPUT to JT:        Time in milliseconds, WORD value in buffer_area
  16269. OUTPUT from JT:    BOARD_ACK_STATUS
  16270. DEFAULT:        600 milliseconds
  16271.  
  16272. DESCRIPTION:    The PULSE_INTER_COMMAND sets the interdigit time of the 
  16273. pulse dial. The units of the command are in milliseconds.
  16274.  
  16275. EXAMPLE:        IDLE                        - FAX
  16276.             (value in buffer_area)            - Host
  16277.             PULSE_INTER_COMMAND             - Host
  16278.             BOARD_ACK_STATUS            - FAX
  16279.             PC_ACK                     - Host
  16280.             IDLE_STATUS                - FAX
  16281.  
  16282. RELATED FUNCTIONS:     PULSE_BREAK_COMMAND, 
  16283.                 PULSE_MAKE_COMMAND
  16284.  
  16285.  
  16286. **************************************************************************
  16287. Pulse_Make_Command
  16288. Characteristic    Description
  16289. COMMAND:         Pulse_Make_Command
  16290. CODE:             03BH
  16291. CATEGORY:        Configuration
  16292. DIRECTION:        Host to JT Fax
  16293. INPUT to JT:        Word value in Buffer_Area in milliseconds
  16294. OUTPUT from JT:    BOARD_ACK_STATUS
  16295. DEFAULT:        40 milliseconds
  16296.  
  16297. DESCRIPTION:    The PULSE_MAKE_COMMAND requires the Host to set the 
  16298. value of the "make" portion of the make/break ratio for pulse dialing. The 
  16299. value is written into buffer_area before the command is issued.
  16300.  
  16301. EXAMPLE:        IDLE                        - FAX
  16302.             PULSE_MAKE_COMMAND            - Host
  16303.             BOARD_ACK_STATUS            - FAX
  16304.             PC_ACK                    - Host
  16305.             IDLE                        - FAX
  16306.  
  16307. RELATED FUNCTIONS:     PULSE_MAKE_COMMAND, 
  16308.                 PULSE_DIAL_COMMAND
  16309.  
  16310.  
  16311. *****************************************************************************
  16312. RecvInit
  16313. Characteristic    Description
  16314. COMMAND:         RecvInit
  16315. CODE:             10H
  16316. CATEGORY:        Fax 
  16317. DIRECTION:        JT Fax to Host
  16318. INPUT to JT:        PC_ACK
  16319. OUTPUT from JT:    None
  16320. DEFAULT:        Not applicable
  16321.  
  16322. DESCRIPTION:    RECVINIT command is issued to the Host when JT Fax detects 
  16323. an incoming call. The call may be a voice call or a fax call. It is up to the Host 
  16324. to make this determination (see Chapter 4) and decide to initiate voice 
  16325. procedures, disconnect, or continue the call. The default is to continue the call. 
  16326. If the caller is voice and CNG_DETECT is not enabled, the CED is transmitted and 
  16327. the call disconnects when Carrier timer expires. CNG detect mode has several 
  16328. options (see 
  16329. Chapter 4). 
  16330.  
  16331. EXAMPLE:        IDLE                        - FAX
  16332.             RECVINIT_COMMAND             - FAX
  16333.             ...(load ID into Buffer Area)        - FAX
  16334.             PC_ACK                    - Host
  16335.             LOAD_DATA_COMMAND            - FAX
  16336.             ...retrieve data                 - Host
  16337.             PC_ACK                     - Host
  16338.                 .
  16339.                 .
  16340.                 .
  16341.             EOTFLAG                     - JT Fax
  16342.             ...retrieve data                 - Host
  16343.             PC_ACK                     - Host
  16344.             IDLE                         - JT Fax
  16345.  
  16346. RELATED FUNCTIONS:     XMIT_COMMAND, 
  16347.                 LOAD_DATA_COMMAND,
  16348.                 SET_VOICE_COMMAND, 
  16349.                 DTMF_DETECT_COMMAND, 
  16350.                 DTMF_DETECT, 
  16351.                 SILENCE_DETECTED, 
  16352.                 SET_ACTIVITY_TIMER, 
  16353.                 "Error Codes"
  16354.  
  16355.  
  16356. **************************************************************************
  16357. Rec_PCX_Off_Command
  16358. Characteristic    Description
  16359. COMMAND:         Rec_PCX_Off_Command
  16360. CODE:             023H
  16361. CATEGORY:        Configuration
  16362. DIRECTION:        Host to JT Fax
  16363. INPUT to JT:        None
  16364. OUTPUT from JT:    BOARD_ACK_STATUS
  16365. DEFAULT:        PCX receive conversion disabled
  16366.  
  16367. DESCRIPTION:    REC_PCX_OFF_COMMAND configures JT Fax to convert 
  16368. the caller's T.4 encoded file to a JT_FAX_FORMAT.
  16369.  
  16370. EXAMPLE:        IDLE                        - FAX
  16371.             REC_PCX_OFF_COMMAND            - Host
  16372.             BOARD_ACK_STATUS            - FAX
  16373.             PC_ACK                    - Host
  16374.             IDLE                         - FAX
  16375.  
  16376. RELATED FUNCTIONS:     RECVINIT, 
  16377.                 MANUAL_REC_COMMAND, 
  16378.                 "Data Formats"
  16379.  
  16380.  
  16381. **************************************************************************
  16382. Rec_PCX_On_Command
  16383. Characteristic    Description
  16384. COMMAND:         Rec_PCX_On_Command
  16385. CODE:             022H
  16386. CATEGORY:        Configuration
  16387. DIRECTION:        Host to JT Fax
  16388. INPUT to JT:        None
  16389. OUTPUT from JT:    BOARD_ACK_STATUS
  16390. DEFAULT:        PCX receive conversion disabled
  16391.  
  16392. DESCRIPTION:    REC_PCX_ON_COMMAND configures JT Fax to convert 
  16393. the caller's T.4 encoded file to a PCX version 3 file. The PCX header is given to 
  16394. the Host in the first data load.
  16395.  
  16396. EXAMPLE:        IDLE                        - FAX
  16397.             REC_PCX_ON_COMMAND            - Host
  16398.             BOARD_ACK_STATUS            - FAX
  16399.             PC_ACK                    - Host
  16400.             IDLE                         - FAX
  16401.  
  16402. RELATED FUNCTIONS:     RECVINIT, 
  16403.                 MANUAL_REC_COMMAND
  16404.  
  16405.  
  16406. **************************************************************************
  16407. Rec_Start_Command
  16408. Characteristic    Description
  16409. COMMAND:         Rec_Start_Command
  16410. CODE:             064H
  16411. CATEGORY:        Voice 
  16412. DIRECTION:        Host to JT Fax
  16413. INPUT to JT:        None
  16414. OUTPUT from JT:    Recorded data in DATA_AREA
  16415.             Load_Data_Command
  16416. DEFAULT:        Not applicable
  16417.  
  16418. DESCRIPTION:    The REC_START_COMMAND instructs the fax to initiate a 
  16419. recording session. The command sequences are similar to the receive Fax data. 
  16420. Once the command is issued, the data pump is configured and voice data from 
  16421. the A/D converter is read immediately. The data sampling continues until a 
  16422. REC_STOP_COMMAND is issued.
  16423.  
  16424. EXAMPLE:        REC_START_STATUS            - Host
  16425.             BOARD_ACK_STATUS            - FAX
  16426.             ...load data in DATA_AREA            - FAX
  16427.             ...set number bytes                - FAX
  16428.             LOAD_DATA                     - FAX
  16429.             ...retrieve data from DATA_AREA    - Host
  16430.             PC_ACK                    - Host
  16431.             ...load data in DATA_AREA            - FAX
  16432.             ...set number bytes                - FAX
  16433.             LOAD_DATA                     - FAX
  16434.             ...load data from DATA_AREA        - Host
  16435.                 .
  16436.                 .
  16437.                 .
  16438.  
  16439. RELATED FUNCTIONS:     "Voice and DTMF", 
  16440.                 REC_STOP_COMMAND, 
  16441.                 RECVINIT_COMMAND
  16442.  
  16443. Note: This command can be used to record offline on Fax A with a microphone. 
  16444. Recording may be done while connected on-line with either Fax A or Fax B 
  16445. using the phone line as input.
  16446.  
  16447.  
  16448. **************************************************************************
  16449. Rec_Stop_Command
  16450. Characteristic    Description
  16451. COMMAND:         Rec_Stop_Command
  16452. CODE:             065H
  16453. CATEGORY:        Voice
  16454. DIRECTION:        Host to JT Fax
  16455. INPUT to JT:        None
  16456. OUTPUT from JT:    Recorded data in DATA_AREA
  16457.             Load_Data_Command
  16458.             EOV_FLAG
  16459. DEFAULT:        Off
  16460.  
  16461. DESCRIPTION:    The REC_STOP_COMMAND instructs the JT Fax to terminate a 
  16462. recording session. The recording stops and the data in the record buffers is 
  16463. transmitted to the Host. To end the transmission of data to the Host, the JT Fax 
  16464. issues an EOV_FLAG.
  16465.  
  16466. EXAMPLE:        REC_START_COMMAND            - Host
  16467.             BOARD_ACK_STATUS            - FAX
  16468.             ...load data in DATA_AREA            - FAX
  16469.             ...set number bytes                - FAX
  16470.             LOAD_DATA                     - FAX
  16471.             ...load data from DATA_AREA        - Host
  16472.             PC_ACK                    - Host
  16473.             ...load data in DATA_AREA            - FAX
  16474.             ...set number bytes                - FAX
  16475.             LOAD_DATA                     - FAX
  16476.             ...load data from DATA_AREA        - Host
  16477.             REC_STOP_COMMAND            - Host
  16478.             ...load data in DATA_AREA            - FAX
  16479.             ...set number bytes                - FAX
  16480.             EOV_FLAG                     - FAX
  16481.             ...load data from DATA_AREA        - Host
  16482.             PC_ACK                    - Host
  16483.             IDLE                         - FAX
  16484.  
  16485. RELATED FUNCTIONS:     "Voice and DTMF", 
  16486.                 REC_START_COMMAND, 
  16487.                 RECVINIT_COMMAND
  16488.  
  16489. Note: After recording messages, disconnect the microphone from Fax A.
  16490.  
  16491.  
  16492. **************************************************************************
  16493. Reset_Data_Pump_Command
  16494. Characteristic    Description
  16495. COMMAND:         Reset_Data_Pump_Command
  16496. CODE:             033H
  16497. CATEGORY:        Utility
  16498. DIRECTION:        Host to JT Fax
  16499. INPUT to JT:        None
  16500. OUTPUT from JT:    BOARD_ACK_STATUS
  16501. DEFAULT:        Not applicable
  16502. DESCRIPTION:    The RESET_DATA_PUMP command resets the Fax data pump. 
  16503. When resetting the data pump, the chip returns to its initial power on state. 
  16504. This command should only be used before the DIAL_DTMF_COMMANDS state. 
  16505. The command is used by JT Fax to set the data pump to a known state after each 
  16506. call or receive.
  16507.  
  16508. EXAMPLE:    RESET_DATA_PUMP_COMMAND            - Host
  16509.         BOARD_ACK_STATUS                - FAX
  16510.         PC_ACK                        - Host
  16511.         IDLE                            - FAX
  16512.  
  16513. RELATED FUNCTIONS:     HARDWARE_RESET_COMMAND
  16514.  
  16515.  
  16516. **************************************************************************
  16517. Return_to_Command
  16518. Characteristic    Description
  16519. COMMAND:         Return_to_Command
  16520. CODE:             072H
  16521. CATEGORY:        Voice 
  16522. DIRECTION:        Host to JT Fax
  16523. INPUT to JT:        None
  16524. OUTPUT from JT:    BOARD_ACK_COMMAND
  16525. DEFAULT:        Not applicable
  16526. DESCRIPTION:    The RETURN_TO_COMMAND terminates voice mode and 
  16527. returns to command state. The JT Fax returns to command state, and the data 
  16528. pump is reset. The phone line may be disconnected by the ON_HOOK_COMMAND 
  16529. if desired.
  16530.  
  16531. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  16532.             PC_ACK                    - Host
  16533.             RETURN_TO_COMMAND            - HOST
  16534.             BOARD_ACK_STATUS            - FAX
  16535.             PC_ACK                    - Host
  16536.             IDLE                        - FAX
  16537.  
  16538. RELATED FUNCTIONS:     "Voice and DTMF", 
  16539.                 CNG_DETECT_ON_COMMAND, 
  16540.                 RETURN_TO_DATA_COMMAND
  16541.  
  16542.  
  16543. **************************************************************************
  16544. Return_to_Data_Command
  16545. Characteristic    Description
  16546. COMMAND:         Return_to_Data_Command
  16547. CODE:             071H
  16548. CATEGORY:        Voice 
  16549. DIRECTION:        Host to JT Fax
  16550. INPUT to JT:        None
  16551. OUTPUT from JT:    BOARD_ACK_COMMAND
  16552. DEFAULT:        Not applicable
  16553.  
  16554. DESCRIPTION:    The RETURN_TO_DATA_COMMAND terminates voice mode 
  16555. and returns to complete a fax call. The JT Fax is returned to fax data at the 
  16556. beginning of Phase A and transmits the CED to the caller. (See Chapter 6).
  16557.  
  16558. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  16559.             PC_ACK                    - Host
  16560.             RETURN_TO_DATA_COMMAND        - Host
  16561.             BOARD_ACK_STATUS            - FAX
  16562.             ...send CED                    - FAX
  16563.  
  16564. RELATED FUNCTIONS:     "Voice and DTMF", 
  16565.                 CNG_DETECT_ON_COMMAND
  16566.  
  16567.  
  16568. **************************************************************************
  16569. Setup_Voice_Command
  16570. Characteristic    Description
  16571. COMMAND:         Setup_Voice_Command
  16572. CODE:             05FH
  16573. CATEGORY:        Voice 
  16574. DIRECTION:        Host to JT Fax
  16575. INPUT to JT:        None
  16576. OUTPUT from JT:    BOARD_ACK_STATUS
  16577. DEFAULT:        Not applicable
  16578.  
  16579. DESCRIPTION:    The SETUP_VOICE_COMMAND must be issued from command 
  16580. state. The command is used to enter voice mode for RECORDING or PLAYBACK 
  16581. and testing. Once in the VOICE mode, all voice commands can be issued and 
  16582. DTMF detection is enabled. See Chapter 6.
  16583.  
  16584. EXAMPLE:        IDLE                        - FAX
  16585.             SETUP_VOICE_COMMAND             - Host
  16586.             BOARD_ACK_STATUS            - FAX
  16587.             PC_ACK                    - Host
  16588.             IDLE                        - FAX
  16589.  
  16590. RELATED FUNCTIONS:     ╥Voice and DTMF"
  16591.  
  16592.  
  16593. **************************************************************************
  16594. Set_Act_Timer_Command
  16595. Characteristic    Description
  16596. COMMAND:         Set_Act_Timer_Command
  16597. CODE:             06FH
  16598. CATEGORY:        Voice - Configuration
  16599. DIRECTION:        Host to JT Fax
  16600. INPUT to JT:        Word value in Buffer_Area
  16601. OUTPUT from JT:    BOARD_ACK_STATUS
  16602. DEFAULT:        3.5 seconds
  16603.  
  16604. DESCRIPTION:    The SET_ACT_TIMER_COMMAND sets the activity timer 
  16605. when CNG_DETECT_ON_COMMAND has been issued. The timer value is specified 
  16606. in milliseconds and has a range from 0-65000. The activity timer starts after 
  16607. the Fax picks up the phone line. If a CNG tone is detected (Fax caller), the 
  16608. timer is reset, a CED is transmitted (Fax callee) and the Fax call continues. 
  16609. However, if silence is detected (no CNG tone) for the duration of the activity 
  16610. timer, the SILENCE_DETECT_STATUS is issued. The JT Fax automatically enters 
  16611. VOICE/DTMF mode. 
  16612.  
  16613. Note: Cycle time for a CNG_TONE is 3 seconds off, 0.5 seconds on.
  16614.  
  16615. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  16616.             PC_ACK                    - Host
  16617.             IDLE                        - Host
  16618.                 .
  16619.                 .
  16620.                 .
  16621.             PLAY_START_COMMAND            - Host
  16622.                 .
  16623.                 .
  16624.                 .
  16625.  
  16626. RELATED FUNCTIONS:     "Voice and DTMF", 
  16627.                 PLAY_START_COMMAND, 
  16628.                 DTMF_DIAL_COMMAND, 
  16629.                 DTMF_DETECT_ON_COMMAND
  16630.  
  16631.  
  16632. **************************************************************************
  16633. Set_Carrier_Command
  16634. Characteristic    Description
  16635. COMMAND:         Set_Carrier_Command
  16636. CODE:             020H
  16637. CATEGORY:        Configuration
  16638. DIRECTION:        Host to JT Fax 
  16639. INPUT to JT:        Wait for carrier time
  16640.             buffer area (word value) - in milliseconds max. 
  16641.             (65 seconds)
  16642. OUTPUT from JT:    BOARD_ACK
  16643. DEFAULT:        60 sec
  16644.  
  16645. DESCRIPTION:    The SET_CARRIER_COMMAND sets the time to wait for the 
  16646. caller and called station to complete Phase A. The NO_CARRIER timer starts 
  16647. after the dial and terminates at the beginning of Phase B. If the timer expires, 
  16648. the call is disconnected and an ERROR status returned to the host. Carrier may 
  16649. also be set placing a work value into Buffer Area [0] before a Sync Command is 
  16650. issued. Units are in milliseconds.
  16651.  
  16652. EXAMPLE:        (load time in buffer area)        - Host
  16653.             SET_CARRIER_COMMAND             - Host
  16654.             BOARD_ACK_STATUS            - FAX
  16655.             PC_ACK                    - Host
  16656.             IDLE                        - FAX
  16657.  
  16658. RELATED FUNCTIONS:     ERROR, "Error Codes", 
  16659.                 "Status Codes"
  16660.  
  16661.  
  16662. **************************************************************************
  16663. Set_Gain_Command
  16664. Characteristic    Description
  16665. COMMAND:         Set_Gain_Command
  16666. CODE:             069H
  16667. CATEGORY:        Voice - Configuration
  16668. DIRECTION:        Host to JT Fax
  16669. INPUT to JT:        Word value in BUFFER_AREA
  16670. OUTPUT from JT:    BOARD_ACK_COMMAND
  16671. DEFAULT:        43.8 dB
  16672.  
  16673. DESCRIPTION:    The SET_GAIN_COMMAND sets the maximum gain of the 
  16674. voice recording. The maximum gain should only be changed during recording 
  16675. to achieve a better quality of voice recording. The maximum gain is calculated 
  16676. by the following formula:
  16677.  
  16678.     MAX_GAIN = 655.36 [ 50 - Gain Limit (dB) ].
  16679.  
  16680. The value should be a 16-bit, positive, two╒s compliment value. The value is 
  16681. retained between recordings.
  16682.  
  16683. EXAMPLE:        IDLE                        - FAX
  16684.             ...load Gain Limit WORD in 
  16685.                  buffer_area                 - Host
  16686.             SET_GAIN_COMMAND            - Host
  16687.             BOARD_ACK_COMMAND            - FAX
  16688.             PC_ACK                    - Host
  16689.             IDLE                        - FAX
  16690.             REC_START_COMMAND            - Host
  16691.             BOARD_ACK_COMMAND            - FAX
  16692.             ...load data in DATA_AREA            - FAX
  16693.             ...set number bytes                - FAX
  16694.             LOAD_DATA_COMMAND            - FAX
  16695.                 .
  16696.                 .
  16697.                 .
  16698.             EOV_FLAG                     - FAX
  16699.             ...load data from DATA_AREA        - Host
  16700.             PC_ACK                    - Host
  16701.             IDLE                         - FAX
  16702.  
  16703. RELATED FUNCTIONS:     "Voice and DTMF", 
  16704.                 REC_START_COMMAND
  16705.  
  16706.  
  16707. **************************************************************************
  16708. Set_Sample_Rate_Command
  16709. Characteristic    Description
  16710. COMMAND:         Set_Sample_Rate_Command
  16711. CODE:             06AH
  16712. CATEGORY:        Voice - Configuration
  16713. DIRECTION:        Host to JT Fax
  16714. INPUT to JT:        BYTE value in BUFFER_AREA
  16715. OUTPUT from JT:    BOARD_ACK_COMMAND
  16716. DEFAULT:        9600 Hz
  16717. DESCRIPTION:    The SET_SAMPLE_RATE_COMMAND sets the sampling rate of 
  16718. the voice recording. The value placed into the Buffer_Area is an index to the 
  16719. provided sample rates. The following is an EXAMPLE of the available sample rates:
  16720.  
  16721. ---------------
  16722. 1    9600 Hz
  16723. 2    8000 Hz
  16724. 3    7200 Hz
  16725.  
  16726. The value is retained between voice mode sessions.
  16727.  
  16728. EXAMPLE:        IDLE                        - FAX
  16729.             ...load BYTE in buffer_area         - Host
  16730.             SET_SAMPLE_RATE_COMMAND        - Host
  16731.             BOARD_ACK_STATUS            - FAX
  16732.             PC_ACK                    - Host
  16733.             IDLE                        - FAX
  16734.             REC_START_COMMAND            - Host
  16735.             BOARD_ACK_STATUS            - FAX
  16736.             ...load data in DATA_AREA            - FAX
  16737.             ...set number bytes                - FAX
  16738.             LOAD_DATA_COMMAND            - FAX
  16739.                 .
  16740.                 .
  16741.                 .
  16742.             EOV_FLAG                     - FAX
  16743.             ...load data from DATA_AREA        - Host
  16744.             PC_ACK                    - Host
  16745.             IDLE                         - FAX
  16746.  
  16747. RELATED FUNCTIONS:     "Voice and DTMF", 
  16748.                 REC_START_COMMAND
  16749.  
  16750.  
  16751. **************************************************************************
  16752. Set_Slew_Rate_Command
  16753. Characteristic    Description
  16754. COMMAND:         Set_Slew_Rate_Command
  16755. CODE:             06BH
  16756. CATEGORY:        Voice - Configuration
  16757. DIRECTION:        Host to JT Fax
  16758. INPUT to JT:        WORD value in BUFFER_AREA
  16759. OUTPUT from JT:    BOARD_ACK_COMMAND
  16760. DEFAULT:        0
  16761.  
  16762. DESCRIPTION:    The SET_SLEW_RATE_COMMAND sets the slew rate of the 
  16763. voice recording. The value is placed into the Buffer_Area. The Slew rate value 
  16764. determines the fall off time of the voice wave form. The value can be 
  16765. adjusted by the following formula, 
  16766.  
  16767.     SLEW_RATE = [19968/(Sample Rate x fall time in seconds)].
  16768.  
  16769. The value is a 16-bit, positive, two╒s compliment value. The value is retained 
  16770. between voice sessions.
  16771.  
  16772. EXAMPLE:        IDLE                        - FAX
  16773.             ...load BYTE in buffer_area         - Host
  16774.             SET_SLEW_RATE_COMMAND        - Host
  16775.             BOARD_ACK_STATUS            - FAX
  16776.             PC_ACK                    - Host
  16777.             IDLE                        - FAX
  16778.             REC_START_COMMAND            - Host
  16779.             BOARD_ACK_STATUS            - FAX
  16780.             ...load data in DATA_AREA            - FAX
  16781.             ...set number bytes                - FAX
  16782.             LOAD_DATA_COMMAND            - FAX
  16783.                 .
  16784.                 .
  16785.                 .
  16786.             EOV_FLAG                     - FAX
  16787.             ...load data from DATA_AREA        - Host
  16788.             PC_ACK                    - Host
  16789.             IDLE                         - FAX
  16790.  
  16791. RELATED FUNCTIONS:     "Voice and DTMF", 
  16792.                 REC_START_COMMAND
  16793.  
  16794.  
  16795. **************************************************************************
  16796. Set_User_CSI_Command
  16797. Characteristic    Description
  16798. COMMAND:         Set_User_CSI_Command
  16799. CODE:             055H
  16800. CATEGORY:        Configuration 
  16801. DIRECTION:        Host to JT Fax
  16802. INPUT to JT:        Buffer_Area 20 byte CSI
  16803. OUTPUT from JT:    BOARD_ACK_STATUS
  16804. DEFAULT:        Not applicable
  16805.  
  16806. DESCRIPTION:    The SET_USER_CSI_COMMAND provides flexibility in Fax 
  16807. identification. TSI/CSI Fax information for transmit and receive can be 
  16808. modified to contain a specialized message. The format previously available for 
  16809. 9600B allowed the CSI to be placed in the buffer area on transmit and receive. 
  16810. The format of header data in the BUFFER_AREA consisted of:
  16811.  
  16812. Ñ    0-20 CSI
  16813. Ñ    21-54 -other user information
  16814. Ñ    55 - Page number followed by space (transmit only)
  16815. Ñ    56 - 61 padded spaces.
  16816.  
  16817. The CSI was always contained in the header of the transmitted page. In receive 
  16818. mode, the CSI was transmitted to the caller. Since the CSI appeared on the Fax 
  16819. page as a header, there was no way to send different CSI data to the 
  16820. caller/callee. This command allows two different messages to appear to the 
  16821. caller/callee. One message in the CSI and the other in the printed Fax header.
  16822.  
  16823. The SET_USER_CSI mode can only be cleared with a HARD_RESET.
  16824.  
  16825. EXAMPLE:        IDLE                        - FAX
  16826.             SET_USER_CSI_COMMAND             - Host
  16827.             BOARD_ACK_STATUS            - FAX
  16828.             PC_ACK                    - Host
  16829.             IDLE                        - FAX
  16830.  
  16831. RELATED FUNCTIONS:     XMIT_COMMAND, 
  16832.                 "Buffer Area"
  16833.  
  16834.  
  16835. **************************************************************************
  16836. Set_User_TSI_Command
  16837. Characteristic    Description
  16838. COMMAND:         Set_User_TSI_Command
  16839. CODE:             054H
  16840. CATEGORY:        Configuration 
  16841. DIRECTION:        Host to JT Fax
  16842. INPUT to JT:        Buffer_Area 20 byte TSI
  16843. OUTPUT from JT:    BOARD_ACK_STATUS
  16844. DEFAULT:        Not applicable
  16845.  
  16846. DESCRIPTION:    The SET_USER_TSI_COMMAND provides flexibility in fax 
  16847. identification. TSI/CSI fax information for transmit and receive can be 
  16848. modified to contain a specialized message. The format previously available for 
  16849. 9600B allowed the TSI to be placed in the buffer area on transmit and receive. 
  16850. The format of header data in the BUFFER_AREA consisted of:
  16851.  
  16852. Ñ    0-20 TSI
  16853. Ñ    21-54 -other user information
  16854. Ñ    55 - Page number followed by space (transmit only)
  16855. Ñ    56 - 61 padded spaces.
  16856.  
  16857. The TSI was always contained in the header of the transmitted page. In receive 
  16858. mode, the TSI was transmitted to the caller. Since the TSI appeared on the Fax 
  16859. page as a header, there was no way to send different TSI data to the 
  16860. caller/callee. This command allows two different messages to appear to the 
  16861. caller/callee. One message in the TSI and the other in the printed Fax header.
  16862.  
  16863. The SET_USER_TSI mode can only be cleared with a HARD_RESET.
  16864.  
  16865. EXAMPLE:    IDLE                            - FAX
  16866.         SET_USER_TSI_COMMAND                 - Host
  16867.         BOARD_ACK_STATUS                - FAX
  16868.         PC_ACK                        - Host
  16869.         IDLE                            - FAX
  16870.  
  16871. RELATED FUNCTIONS:     XMIT_COMMAND, 
  16872.                 "Buffer Area"
  16873.  
  16874.  
  16875. **************************************************************************
  16876. Silence_Detected_Status
  16877. Characteristic    Description
  16878. COMMAND:         Silence_Detected_Status
  16879. CODE:             06CH
  16880. CATEGORY:        Voice 
  16881. DIRECTION:        JT Fax to Host
  16882. INPUT to JT:        PC_ACK
  16883. OUTPUT from JT:    None
  16884. DEFAULT:        Not applicable
  16885.  
  16886. DESCRIPTION:    The SILENCE_DETECTED_STATUS notifies the Host that a CNG 
  16887. tone was not detected within the user-defined time limit. The notification only 
  16888. occurs if a CNG_DETECT_ON_COMMAND has been previously issued. Once silence 
  16889. has been detected, the JT Fax enters into Voice mode. The Host has the following 
  16890. options
  16891.  
  16892. 1.    voice commands,
  16893. 2.    wait for DTMF detection,
  16894. 3.    return to data and continue call, and
  16895. 4.    return to command and terminate call.
  16896.  
  16897. EXAMPLE:        .
  16898.             .
  16899.             .
  16900.         SILENCE_DETECTED_STATUS            - FAX
  16901.         PC_ACK                        - Host
  16902.         REC_START_COMMAND                - Host
  16903.         BOARD_ACK_STATUS                - FAX
  16904.         ...load data in DATA_AREA                - FAX
  16905.         ...set number bytes                    - FAX
  16906.         LOAD_DATA_COMMAND                - FAX
  16907.             .
  16908.             .
  16909.             .
  16910.         EOV_FLAG                         - FAX
  16911.         ...load data from DATA_AREA            - Host
  16912.         PC_ACK                        - Host
  16913.         IDLE                             - FAX
  16914.  
  16915. RELATED FUNCTIONS:     "Voice and DTMF", 
  16916.                 REC_START_COMMAND, 
  16917.                 DTMF_DIAL, 
  16918.                 DTMF_DETECT_ON_COMMAND
  16919.  
  16920.  
  16921. **************************************************************************
  16922. Software_Reset_Command
  16923. Characteristic    Description
  16924. COMMAND:         Software_Reset_Command
  16925. CODE:             031H
  16926. CATEGORY:        Control
  16927. DIRECTION:        Host to JT Fax
  16928. INPUT to JT:        None
  16929. OUTPUT from JT:    None
  16930. DEFAULT:        Not applicable
  16931.  
  16932. DESCRIPTION:    The SOFTWARE_RESET_COMMAND instructs JT Fax to initiate 
  16933. a soft reset function. The command is placed in the API block location, 
  16934. RESET_BOARD, at offset 51H. When RESET_BOARD is set to a 
  16935. SOFTWARE_RESET_COMMAND, the hardware is reset and all buffers are cleared 
  16936. (soft fonts are not cleared). After the default carrier time is reset to the value 
  16937. contained in BUFFER_AREA, JT Fax is in command state.
  16938.  
  16939. EXAMPLE:        SOFTWARE_RESET_COMMAND         - Host
  16940.             (wait for 3 seconds)
  16941.             IDLE_STATUS                - FAX
  16942.  
  16943. RELATED FUNCTIONS:     HARDWARE_RESET_COMMAND, 
  16944.                 SET_CARRIER_COMMAND
  16945.  
  16946.  
  16947. **************************************************************************
  16948. Speaker_Off_Command
  16949. Characteristic    Description
  16950. COMMAND:         Speaker_Off_Command
  16951. CODE:             03EH
  16952. CATEGORY:        Utility
  16953. DIRECTION:        Host to JT Fax
  16954. INPUT to JT:        None
  16955. OUTPUT from JT:    BOARD_ACK
  16956. DEFAULT:        Not applicable
  16957.  
  16958. DESCRIPTION:    The SPEAKER_OFF_COMMAND is used when the Host wants 
  16959. the speaker off for VOICE setup or when using the Utility commands. In 
  16960. normal JT Fax operation the speaker is controlled by the SPEAKER field of the 
  16961. API block.
  16962.  
  16963. EXAMPLE:        SPEAKER_OFF_COMMAND            - Host
  16964.             BOARD_ACK_STATUS            - FAX
  16965.             PC_ACK                    - Host
  16966.             IDLE                        - FAX
  16967.  
  16968. RELATED FUNCTIONS:     SPEAKER_ON_COMMAND
  16969.  
  16970.  
  16971. **************************************************************************
  16972. Speaker_On_Command
  16973. Characteristic    Description
  16974. COMMAND:         Speaker_On_Command
  16975. CODE:             03DH
  16976. CATEGORY:        Utility
  16977. DIRECTION:        Host to JT Fax
  16978. INPUT to JT:        None
  16979. OUTPUT from JT:    BOARD_ACK
  16980. DEFAULT:        Not applicable
  16981.  
  16982. DESCRIPTION:    The SPEAKER_ON_COMMAND is used when the Host wants 
  16983. the speaker on for VOICE setup or when using the Utility commands. In normal 
  16984. JT Fax operation the speaker is controlled by the SPEAKER field of the API block.
  16985.  
  16986. EXAMPLE:        SPEAKER_ON_COMMAND            - Host
  16987.             BOARD_ACK_STATUS            - FAX
  16988.             PC_ACK                    - Host
  16989.             IDLE                        - FAX
  16990.  
  16991. RELATED FUNCTIONS:     SPEAKER_OFF_COMMAND
  16992.  
  16993.  
  16994. **************************************************************************
  16995. Xmit_Command
  16996. Characteristic    Description
  16997. COMMAND:         Xmit_Command
  16998. CODE:             01H
  16999. CATEGORY:        FAX Transmit
  17000. DIRECTION:        Host to JT Fax
  17001. INPUT to JT:        Phone number in buffer area (if desired)
  17002.             Header in buffer area
  17003.             FAX data in swap buffer
  17004.             EOPFLAG    
  17005.             EOTFLAG
  17006. OUTPUT from JT:    LOAD_DATA_COMMAND
  17007.             BOARD_ACK
  17008.             SUCCESSFUL_TRANSMIT
  17009.             BUSY
  17010.             RING
  17011.             status messages
  17012. DEFAULT:        Not applicable
  17013.  
  17014. DESCRIPTION:    This API is the FAX transmit command. The transmit 
  17015. command operates the speaker, dials the phone number, and transfers the fax. 
  17016. After the dial is completed, the Host is prompted for the header information. 
  17017. This header is placed on the top page of the fax and a portion is used for the 
  17018. TSI. Once the header is received, the host is prompted for the data with the 
  17019. LOAD_DATA_COMMAND. The data is passed in the DATA_AREA location. The Host 
  17020. must issue a PC_ACK when all the data is loaded into DATA_AREA. Further 
  17021. LOAD_DATA_COMMANDs are issued until the fax transfer is complete. The Host 
  17022. terminates the transfer with an EOT command. 
  17023.  
  17024. The time constraint placed on the Host for data transfer is based on the format 
  17025. of the data. In the JT Fax format, approximately 10k of data can be buffered on 
  17026. the FAX. So, timing during transmission is only critical during the first initial 
  17027. stages of buffering. The initial stages require data to be loaded as fast as 
  17028. possible. 
  17029.  
  17030. If the data requires translation, the timing is more critical. The Host buffers 2 
  17031. initial loads. The worst case scenario for ASCII and PCX is approximately 5 
  17032. seconds between data loads at 14400 bps before data is lost. 
  17033.  
  17034. The data placed in DATA_AREA may be in one of three formats. These are:
  17035.  
  17036.     ASCII_FORMAT    00H
  17037.     PCX_3_FORMAT    01H
  17038.     JT_FAX_FORMAT    63H
  17039.  
  17040. The formats are discussed in detail in Chapter 7.
  17041.  
  17042.  
  17043. Characteristic    Description
  17044.  
  17045. EXAMPLE:        IDLE                        - FAX
  17046.             (load phone number in buffer area)     - Host
  17047.             (load baud rate if desired)         - Host
  17048.             XMIT_COMMAND                 - Host
  17049.             BOARD_ACK_STATUS            - FAX
  17050.             ...load header                - Host
  17051.             PC_ACK                     - Host
  17052.             LOAD_DATA_COMMAND            - FAX
  17053.             ...load data and set format            - Host
  17054.             ...set number bytes                - Host
  17055.             PC_ACK                     - Host
  17056.             LOAD_DATA_COMMAND            - FAX
  17057.             ...load data                     - Host
  17058.             PC_ACK                     - Host
  17059.                 .
  17060.                 .
  17061.                 .
  17062.             EOT                         - Host
  17063.             TRANSMIT                    - FAX
  17064.             BOARD_ACK                    - FAX
  17065.             PC_ACK                    - Host
  17066.             IDLE                         - Host
  17067.  
  17068. When the Host is transmitting multiple pages and wants to control the page 
  17069. breaks, an EOP is issued instead of PC_ACK. To control the length of the page 
  17070. the min_page parameter should be used.
  17071.  
  17072. RELATED FUNCTIONS:     IDLE, EOT, 
  17073.                 PC_ACK, 
  17074.                 BOARD_ACK, 
  17075.                 SET_CARRIER_COMMAND, 
  17076.                 FAX_MODE_COMMAND, 
  17077.                 BUSY_COMMAND, 
  17078.                 ENHANCED_MODE_ON_COMMAND, 
  17079.                 dial modifiers
  17080.  
  17081.  
  17082. ==========================================================================
  17083. Chapter 6
  17084. Shared Memory Interface Description
  17085.  
  17086.  
  17087. All functions, status codes, return codes, and data pass through the JT Fax 
  17088. shared memory interface. The interface address is selectable in 4k increments 
  17089. and is located between memory address 8000H to 0FFFFH (see the Hayes JT Fax 
  17090. 14400B Dual Installation Guide).
  17091.  
  17092. If the C programming language is used for the Host program, then the 
  17093. compiler should pack the API structure on byte boundaries. This is 
  17094. accomplished in Microsoft C by using the following statement:
  17095.  
  17096.     #pragma pack (1)
  17097.  
  17098.  
  17099. **************************************************************************
  17100. Shared Memory Interface Structure
  17101. The shared memory interface structure is organized as follows:
  17102.  
  17103. Note: This map is used with Fax A at offset 0 and Fax B at offset 800H.
  17104.  
  17105. Offset Length    Name            Usage/Description
  17106. --------------------------------------------------------------------------------------
  17107. 0000H-0005H    ID            Location of board address
  17108. 0005H-0001H    COMMAND        Commands and Status
  17109. 0006H-0001H    RING_COUNT    Ring to answer on
  17110. 0007H-0001H    CALL_MODE        Transmit/Receive
  17111. 0008H-0001H    FILE_TYPE         ASCII, PCX, JT Fax
  17112. 0009H-0001H    XMIT_FONT         Resolution, Font number
  17113. 000AH-0001H    MIN_PAGE         Force 11 inch page flag
  17114. 000BH-003DH    BUFFER_AREA     Phone numbers & headers
  17115. 0048H-0002H    SECONDS        Length of connection
  17116. 004AH-0001H    SPEAKER        on, off, on till connect
  17117. 004BH-0001H    RET_CODE         Completion code
  17118. 004CH-0002H    PAGES         Number of pages sent
  17119. 004EH-0002H    DATA_LEN         Length of valid data
  17120. 0050H-0001H    BAUD_RATE        2400, 4800, 7200, 9600, 12000, 14400 baud
  17121. 0051H-0001H    RESET_BOARD    Reset the board
  17122. 0052H-0001H    STATUS_CODE    Extended status
  17123. 0053H-0001H    LINE_COUNT        Number of lines transmitted
  17124. 0054H-0001H    RCV_FILE_TYPE    Receive file type
  17125. 0055H-0002H    RCV_LINE        Lines per page received (ASCII)
  17126. 0057H-0001H    RESERVED        Not used at this time
  17127. 0058H-07A8H    DATA_AREA        Used for file data
  17128.  
  17129. The following paragraphs describe the Shared Memory Interface fields:
  17130.  
  17131. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17132. ID    Field where the product keyword is located. Set by Board. 
  17133.  
  17134. The ID field is used to locate the board at the start of a program. Memory can be 
  17135. searched from segment 8000H to F000H for the 'ASHER' keyword at each 2K 
  17136. boundary. In the JT Fax 14400B tool kit, FINDFAX.ASM file contains an 
  17137. assembler routine that locates the 'ASHER' string. This allows the Host program 
  17138. to locate the board in memory without knowing the exact memory location.
  17139.  
  17140. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17141. COMMAND    Field for command handshakes. Set by Host and JT Fax. 
  17142.  
  17143. The COMMAND byte is used to pass most commands to the board and some status 
  17144. bytes are returned through this byte. The status bytes are JT Fax 9600B 
  17145. compatible codes described in Chapter 3.
  17146.  
  17147. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17148. RING_COUNT    Field for ring to answer count. Set by Host.
  17149.  
  17150. Ring_count is a status byte used for the ring-to-answer-on count. The count 
  17151. allows the board to answer the call when a certain number of rings is reached. 
  17152. This byte should be set to 0FH if ring detection is not desired. For originate 
  17153. only applications and manual answers, a status command RING is provided in 
  17154. the first byte of buffer area. 
  17155.  
  17156. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17157. CALL_MODE     Field for answer or receive mode. Set by Host.
  17158.  
  17159. Call_mode should be set prior to making or receiving a call. The call modes 
  17160. currently supported by the board are:
  17161.  
  17162.     Code    Description
  17163.     ---------------------------------
  17164.     00H    Call to transmit a fax
  17165.     02H    Answer to receive a fax
  17166.  
  17167. Note: This option is currently not supported. 
  17168.  
  17169. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17170. FILE_TYPE    Field for specific file type. Set by Host.
  17171.  
  17172. File_type should be set prior to a transmit. The file_type parameter determines 
  17173. the processing necessary for the JT Fax 14400B Dual to convert data to T.4 
  17174. format. The field can have the following values:
  17175.  
  17176.     Code    Description
  17177.     -------------------------
  17178.     00H    ASCII_FORMAT
  17179.     01H    PCX _3_FORMAT
  17180.     63H     JT_Fax_FORMAT 
  17181.  
  17182. For additional information see File Formats in Chapter 7.
  17183.  
  17184. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17185. XMIT_FONT    Field for JT Fax font resolution. Set by Host.
  17186.  
  17187. Xmit_font field is only used to transmit of data. The field should be set prior to 
  17188. all transmits, and is used to select the font for ASCII and high/low resolution 
  17189. for other types of transmits. If ASCII data is being sent in any font other than 
  17190. font0 (80/low) then that font must be loaded onto the board prior to the 
  17191. transmit. If any other form of data is being sent (i.e., PCX, JT Fax) then 00H and 
  17192. 01H should be used to indicate the resolution.
  17193.  
  17194.     Code    Description
  17195.     ----------------------------------------------
  17196.     00H     80 character/line low resolution
  17197.     01H     80 character/line high resolution
  17198.     02H     132 character/line low resolution
  17199.     03H    132 character/line high resolution
  17200.  
  17201. For additional information see JT Fax Formats section Chapter 7.
  17202.  
  17203. MIN_PAGE    Field set for page minimum length. Set by Host.
  17204.  
  17205. If min_page is zero when the transmit command is issued, all pages will be 
  17206. forced to be at least 11 inches long. If MIN_PAGE is set, the number of lines in 
  17207. linecount is used.
  17208.  
  17209. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17210. BUFFER_AREA    Field for FAX ID, phone number. Set by Host, JT Fax and 
  17211. status messages.
  17212.  
  17213. Buffer_area is an area used to pass the phone number to be dialed, the header 
  17214. line to put on the top of each page, fax ID and enhanced return codes. The 
  17215. default time-out-after-dial (binary) can also be loaded into buffer_area on 
  17216. start up or can be configured by using the SET_CARRIER_COMMAND function.
  17217.  
  17218. For more information on buffer area see section Appendix E.
  17219.  
  17220. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17221. SECONDS     Field for time of phases. Set by JT Fax.
  17222.  
  17223. Seconds is a timer that resets to zero at the start of a call or answer and again 
  17224. after receiving the first carrier from the other end (to get a true connection 
  17225. time). The host has the option to reset the timer.
  17226.  
  17227. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17228. SPEAKER     Field for speaker control. Set by Host.
  17229.  
  17230. The Speaker byte controls operation of the speaker as follows:
  17231.  
  17232.     Code    Description
  17233.     ---------------------
  17234.     00H     SPKR_ALWAYS_ON
  17235.     01H     SPKR_ON_TILL_CONNECT
  17236.     02H     SPKR_ALWAYS_OFF
  17237.  
  17238. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17239. RET_CODE     Field for errors and JT Fax 9600B status. Set by JT Fax.
  17240.  
  17241. Ret_code is the error return code from a fax operation. For compatibility, the 
  17242. two 9600B status codes are returned in this field. The values are:
  17243.  
  17244.     Code    Description
  17245.     -----------------------------
  17246.     0    Successful Transmit
  17247.     1    No Dial Tone
  17248.     2    No Carrier
  17249.     3    Busy
  17250.     7    Clipped
  17251.  
  17252. The Handshaking/Compatibility return codes are:
  17253.  
  17254.     Code    Description
  17255.     -------------------------------
  17256.     128    Bad DIS REC
  17257.     129    Bad Training
  17258.     130    Phase B Error
  17259.     131    Bad MPS Response
  17260.     132    Bad MCF Response
  17261.     133    Bad DSC Response
  17262.     134    Phase D Error
  17263.     135    No PC Acknowledge
  17264.     136    No Data Received
  17265.     137    Page Error on Receive
  17266.     138     Successful Receive
  17267.  
  17268. Other Return Codes are described in Appendix B.
  17269.  
  17270. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17271. PAGES    Field for number of pages. Set by JT Fax.
  17272.  
  17273. Pages is a word that keeps a running count of the number of pages sent. It is 
  17274. updated during transmission and reception.
  17275.  
  17276. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17277. DATA_LEN     Field for number of bytes in DATA_AREA Set by Host and JT Fax.
  17278.  
  17279. Fax Data_len is a word that holds the number of data bytes valid in the 
  17280. data_area. It must be loaded prior to a load_data command.
  17281.  
  17282. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17283. BAUD_RATE     Field for connect speed. Set by Host and JT Fax.
  17284.  
  17285. Baud_rate is a byte that shows the connection speed. At the start of each 
  17286. transmission it defaults to 14400 BPS. For compatibility, the receive defaults to 
  17287. 9600 BPS. 14400 BPS receive can be obtained by issuing the FAX_144_MODE_ON 
  17288. API. The BAUD_RATE field has the following values:
  17289.  
  17290.     Code    Description
  17291.     ---------------------
  17292.     00H    2400 BPS
  17293.     01H    4800 BPS
  17294.     02H    7200 BPS
  17295.     03H    9600 BPS
  17296.     04H     12000 BPS
  17297.     05H    14400 BPS 
  17298.  
  17299. The baud rate may be monitored for correct connect speed.
  17300.  
  17301. Note: This rate may also be modified by the host for transmit speed.
  17302.  
  17303. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17304. RESET_BOARD    Field for reset. Set by Host.
  17305.  
  17306. This byte is used to reset the board after an error, or it can be done on exit to 
  17307. set the board to a known state. The API HARDWARE_RESET_COMMAND in this 
  17308. byte causes a full reset of the board, including memory testing and clearing 
  17309. and can take 5-6 seconds to complete. 
  17310.  
  17311. The API SOFTWARE_RESET_COMMAND causes a partial reset and does not clear 
  17312. memory. It disconnects the phone line and returns to command state.
  17313.  
  17314. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17315. STATUS_CODE    Field for enhanced status. Set by JT Fax.
  17316.  
  17317. The status code field provides additional status for Fax transmission.
  17318.  
  17319. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17320. LINE_COUNT    Field for number lines. Set by Host.
  17321.  
  17322. Line_count is a byte that gives the number of lines to put on the page before a 
  17323. page break. The function is only applicable when MIN_PAGE  is set to 0 and 
  17324. during ASCII transmits.
  17325.  
  17326. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17327. RECV_FILE_TYPE    Field used to indicate the type of file. Set by Host.
  17328.  
  17329. The values are:
  17330.  
  17331.     Code    Description
  17332.     -------------------------
  17333.     01H    PCX_3_FORMAT
  17334.     63H    JT_FAX_FORMAT
  17335.  
  17336. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17337. RECV_LINE    Field used to indicate the number of PCX lines recieved. Set by JT 
  17338. Fax.
  17339.  
  17340. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17341. DATA_AREA    Field for data transfer. Set by Host.
  17342.  
  17343. This is the area used to buffer data out to the board. It is 1960 bytes long.
  17344.  
  17345.  
  17346. ==========================================================================
  17347. Chapter 7
  17348. File Formats
  17349.  
  17350.  
  17351. This chapter describes the JT Fax file conversion formats. These formats 
  17352. include:
  17353.  
  17354. Ñ    PCX
  17355. Ñ    ASCII
  17356. Ñ    JT Fax.
  17357.  
  17358.  
  17359. *****************************************************************************
  17360. PCX Conversion
  17361. The PCX conversion supplied with JT Fax 14400B Dual is a receive "on-the-
  17362. fly" conversion at all speeds supported. The data presented to the Host 
  17363. includes a PCX 3 header and data. All data is in black and white, 1-plane, 1 
  17364. bit-per-pixel, xmax (horizontal axis) = 1727; color is not supported.
  17365.  
  17366. Additional fields are provided for the PCX receive. These new fields are 
  17367. receive type (BYTE) at offset 55H and receive_lines at offset 56H (WORD).
  17368.  
  17369. The following commands pertain to PCX conversion:
  17370.  
  17371.     REC_PCX_ON_COMMAND
  17372.     REC_PCX_OFF_COMMAND (default)
  17373.  
  17374. The length of the PCX file (in lines) is reported in the new variable named 
  17375. RECV_LINES and is correct when the EOT is received from the fax. The 
  17376. RECV_LINES count should be placed in the PCX file by the Host. The offset into 
  17377. the PCX file for this count is 10 (zero relative) and is WORD value. The 
  17378. PCX_RECV_ON_COMMAND must be issued after setting Recvfile type to PCX.
  17379.  
  17380.  
  17381. **************************************************************************
  17382. ASCII
  17383. The following sections describe ASCII font management in JT Fax.
  17384.  
  17385. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17386. Fonts
  17387. The JT Fax 14400B Dual board gives the user the flexibility of 4 different 
  17388. fonts. These fonts are identified as font.0, font.1, font.2, and font.3. Font.0 
  17389. is the default font and Fonts 0-3 are available as user defined fonts. The 
  17390. fonts are designed in two resolutions, low and high resolution. Low resolution 
  17391. is defined as an 18-bit by 16-row character cell. High resolution is defined 
  17392. by a 18-bit by 32-row character cell. All fonts are available in the JT FAX 
  17393. software toolkit under the files font.0, font.1, font.2, and font.3. Contact 
  17394. Hayes Customer Service, see Appendix I.
  17395.  
  17396. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17397. Mode
  17398. There are two different modes for resolution, normal mode and compressed 
  17399. mode. In normal mode the character cell consists of 18 bits per character 
  17400. cell line. Normal mode is the default mode for the default font used by JT 
  17401. Fax. The JT Fax compressed mode consists of a character cell that is 13 
  17402. bits-per-character line. Both modes support 80 and 132 columns. 
  17403.  
  17404. Below is a list of these fonts with their corresponding resolution.
  17405.  
  17406. Font            Name        Resolution
  17407. -----------------------------------------------------------
  17408. Low res         faxfont.0    200x100 80 columns
  17409. normal mode            <default>
  17410. High res         faxfont.1    200x200 132 columns
  17411. normal mode
  17412. Low res         faxfont.2    200x100 80 columns
  17413. compressed
  17414. High res        faxfont.3    200x200 132 columns
  17415. compressed
  17416.  
  17417. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17418. Font Modifications
  17419. To modify these fonts, the programmer can execute the font generation 
  17420. program, fontcon.com. This program can be downloaded in the file 
  17421. faxfont.arc (contact Hayes Customer Service, see Appendix I). If the user 
  17422. wishes to create a custom font file without the use of the fontcon.com 
  17423. program, the fonts must be bit mapped as explained in the following 
  17424. paragraphs.
  17425.  
  17426. The bit map is arranged in a "pixel line" format. The character must be 
  17427. converted into a bit-format byte aligned. Character tables start with the 
  17428. ASCII character for a space " " and end with an ASCII character for a "~". 
  17429. The character is assembled into a 4x16 byte matrix in low resolution and a 
  17430. 4x32 byte matrix for high resolution. All parts of the character cell must be 
  17431. represented.
  17432.  
  17433. In lower case characters, the additional white space above the character 
  17434. must be included. For example, the lower case ASCII 'a' has several lines of 
  17435. white space above the 'a'. This must be included.
  17436.  
  17437. Within each matrix cell, the font character is defined by 4 bytes per line by:
  17438.  
  17439.     low resolution = 18 bits < 22 bits unused >
  17440.     high resolution = 13 bits < 27 bits unused >.
  17441.  
  17442. All unused bits are ignored and are set to a 0xff.
  17443.  
  17444. For example, a '!' in low-resolution normal mode 4x16 80-column, with a bit 
  17445. set for white would be as follows:
  17446.  
  17447. Row    Bitmap                Row    Bitmap
  17448. --------------------------------------------------------------------------------
  17449. 1    0xff, 0xff, 0xc0, 0xff (top space)    9    0xff, 0xf9, 0xc0, 0xff (char)
  17450. 2    0xff, 0xf0, 0xc0, 0xff (char)    10    0xff, 0xff, 0xc0, 0xff (char)
  17451. 3    0xff, 0xf0, 0xc0, 0xff (char)    11    0xff, 0xff, 0xc0, 0xff (char)
  17452. 4    0xff, 0xf0, 0xc0, 0xff (char)    12    0xff, 0xf9, 0xc0, 0xff (char)
  17453. 5    0xff, 0xf0, 0xc0, 0xff (char)    13    0xff, 0xff, 0xc0, 0xff (space)
  17454. 6    0xff, 0xf0, 0xc0, 0xff (char)    14    0xff, 0xff, 0xc0, 0xff (space)
  17455. 7    0xff, 0xf0, 0xc0, 0xff (char)    15    0xff, 0xff, 0xc0, 0xff (space)
  17456. 8    0xff, 0xf9, 0xc0, 0xff (char)    16    0xff, 0xff, 0xc0, 0xff (space)
  17457.  
  17458. The JT Fax font generation software offers the user the ability to create or 
  17459. modify the ASCII coded fonts used by the JT Fax products. The user will need 
  17460. to download FAXFONT.ARC and FONT.ARC from the HAYES BBS (see Appendix 
  17461. I).
  17462.  
  17463. For development purposes, the programmer is advised to create a font sub-
  17464. directory containing four sub-directories (one for each font), and copy the 
  17465. proper files into each sub-directory as follows:
  17466.  
  17467. Directory    Contents
  17468. ---------------------------------------------------------------
  17469. Font        All directories below.
  17470. Font 0    Low resolution normal 80 columns. Include
  17471.         FONT0.EXE, FONTSCRN, and FAXFONT.0.
  17472. Font 1    High resolution normal 80 columns. Include
  17473.         FONT1.EXE, FONTSCRN, and FAXFONT.1.
  17474. Font 2    Low resolution compressed 132 columns.
  17475.         Include FONT2.EXE, FONTSCRN, and FAXFONT.2.
  17476. Font 3    High resolution compressed 132 columns.
  17477.         Include FONT3.EXE, FONTSCRN, and FAXFONT.3.
  17478.  
  17479. To use the graphics editor, move to a font sub-directory, and type 
  17480. FONTX.EXE, where X is the font number to modify. The editor then appears, 
  17481. along with some instructions.
  17482.  
  17483.     EXAMPLE: C:/font/2
  17484.     followed by: font2
  17485.  
  17486. This example illustrates the suggested sub-directory structure and the 
  17487. procedure for editing font2 (low resolution compressed). The FONTSCRN file
  17488. is a graphic overlay for the font editor.
  17489.  
  17490. When the "Which character to edit" prompt is displayed, you may enter a 
  17491. keyboard character. To enter a non-keyboard character, find its ASCII code, 
  17492. hold down the <alt> key and enter the ASCII code with the numeric keypad.
  17493.  
  17494. To move about in the font field, use the cursor control keys. The instructions 
  17495. appearing on the screen guide you to edit a font. When the font is complete, 
  17496. enter <F1> to save it. The high resolution fonts allow editing the top and bottom 
  17497. half of each pixel in the font field. In the high resolution fonts, use T and B to 
  17498. paint or delete the Top or Bottom of a font element. As a font is modified, a 
  17499. FAXFONT.TMP file is created.
  17500.  
  17501. FONTCON.COM is then converts the FAXFONT.TMP file into the format used 
  17502. by the JT FAX software. The syntax is:
  17503.  
  17504.     FONTCON FAXFONT.TMP FAXFONT.X
  17505.  
  17506. The FAXFONT.X is the new file you created, and is now ready to be copied 
  17507. into your FAX directory for testing.
  17508.  
  17509.     EXAMPLE: c:\font\2> fontcon faxfont.tmp faxfont.2
  17510.  
  17511. The example converts the FAXFONT.TMP from sub-directory FONT2 and 
  17512. converts it to FAXFONT.2.
  17513.  
  17514. Font generation may require several iterations of some character. This is 
  17515. normal, as fonts displayed on a CRT appear different than when received on a 
  17516. Fax machine.
  17517.  
  17518. Note: Only one soft font can be downloaded. This is the font used by the Fax. Only 
  17519. one soft font at any given time can be downloaded and used. Soft Font cannot be 
  17520. used with the OEM_CODE command.
  17521.  
  17522.  
  17523. **************************************************************************
  17524. JT Fax Format
  17525. The JT Fax file format is based on a modified Huffman coding used in Group 3 
  17526. facsimile preceded by an eight byte header. The Huffman coding schema is in Appendix A.)
  17527. The header format is as follows:
  17528.  
  17529.     Offset        Explanation
  17530.     ---------------------------------------------------------------
  17531.     0         A zero byte
  17532.     1        Either 0 or 40H. If the 40H bit is set, then the file is a
  17533.             high resolution (200x200) file.
  17534.     2        reserved
  17535.     3        reserved
  17536.     4        reserved
  17537.     5        reserved
  17538.     6        reserved
  17539.     7        reserved
  17540.  
  17541. The Huffman data format is a data compression method based on run length 
  17542. encoding. One hundred and twenty-eight run lengths (64 white and 64 black), 
  17543. thirteen make-up codes, and an end-of-line (EOL) are defined by the ITU-T. 
  17544. These codes are available in Appendix A.
  17545.  
  17546. The JT Fax only supports files of 1728 pixels per line, the only required 
  17547. format for a Group 3 fax machine. The EOL command is used to end every line 
  17548. in a fax-format file.
  17549.  
  17550. It consists of 11 zero bits and a one bit. Additional zero bits, or fill bits, can 
  17551. be inserted prior to the EOL command. Although some JT Fax files use fill 
  17552. bits so that each line of fax data begins on a byte boundary, inclusion of fill 
  17553. bits is not necessary for any JT Fax family product.
  17554.  
  17555. The JT Fax file is organized as follows:
  17556.  
  17557.     Eight byte header
  17558.     EOL
  17559.     Huffman compressed line
  17560.     EOL
  17561.     Huffman compressed line
  17562.     EOL
  17563.         .
  17564.         .
  17565.         .
  17566.     Huffman compressed line
  17567.     EOL
  17568.  
  17569. Huffman compressed lines are generated using the tables in Appendix A. 
  17570. Huffman compression assumes that every line begins with a white run length, 
  17571. alternates to a black, back to white, up to an EOL. If a run length is greater 
  17572. than 63, then a make-up code is used. A make-up code is always followed by 
  17573. a run length of the same color, even if the length is zero. The Huffman codes 
  17574. are sent left-bit first (as seen in the table), but must be assembled so that 
  17575. the low-order bit in each byte is the first to send. The following example 
  17576. demonstrates this process:
  17577.  
  17578. Assume the input line of data is:
  17579.  
  17580.     30 white, 10 black, 130 white, 192 black, 1366 white
  17581.  
  17582. From the table in Appendix A:
  17583.  
  17584.     30 white = 00000011 
  17585.     10 black = 0000100
  17586.     130 white = 128 white = 10010 (make up-code) + 2 white = 0111
  17587.     192 black = 192 black = 010111(make-up code) + 0 black = 0000110111
  17588.     1366 white = 1344 white = 011011010 (make-up code) + 22 white = 
  17589. 0000011
  17590.     EOL = 000000000001
  17591.  
  17592. Put the bits in a stream:
  17593.  
  17594.     00000011000010010010011101011100001101110110110100000011
  17595.     000000000001
  17596.  
  17597. Break them out, eight bits at a time:
  17598.  
  17599.     00000011-00001001-00100111-01011100-00110111-01101101-
  17600.     00000011-00000000-0001
  17601.  
  17602. Reverse the bit-order:
  17603.  
  17604.     11000000-10010000-11100100-00111010-11101100-10110110-
  17605.     11000000-00000000-xxxx1000
  17606.  
  17607. The xxxx could be the first four bits from the next Huffman stream of data, 
  17608. or four additional 0s could be inserted on the other side of the 1, making the 
  17609. last byte 10000000. The final hex code for this line is:
  17610.  
  17611.     C0 90 E4 3A EC B6 C0 00 80
  17612.  
  17613.  
  17614. ==========================================================================
  17615. Appendix A
  17616. ITU-T T.4 Huffman Encoding
  17617.  
  17618.  
  17619. This appendix defines the T.4 Huffman encoding used in JT Fax.
  17620.  
  17621. Run 
  17622. Length    White Code        Black Code
  17623. ------------------------------------------------
  17624. 0000        00110101        0000110111
  17625. 0001        000111        010
  17626. 0002        0111            11
  17627. 0003        1000            10
  17628. 0004        1011            011
  17629. 0005        1100            0011
  17630. 0006        1110            0010
  17631. 0007        1111            00011
  17632. 0008        10011            000101
  17633. 0009        10100            000100
  17634. 0010        00111            0000100
  17635. 0011        01000            0000101
  17636. 0012        001000        0000111
  17637. 0013        000011        00000100
  17638. 0014        110100        00000111
  17639. 0015        110101        000011000
  17640. 0016        101010        0000010111
  17641. 0017        101011        0000011000
  17642. 0018        0100111        0000001000
  17643. 0019        0001100        00001100111
  17644. 0020        0001000        00001101000
  17645. 0021        0010111        00001101100
  17646. 0022        0000011        00000110111
  17647. 0023        0000100        00000101000
  17648. 0024        0101000        00000010111
  17649. 0025        0101011        00000011000
  17650. 0026        0010011        000011001010
  17651. 0027        0100100        000011001011
  17652. 0028        0011000        000011001100
  17653. 0029        00000010        000011001101
  17654. 0030        00000011        000001101000
  17655. 0031        00011010        000001101001
  17656. 0032        00011011        000001101010
  17657. 0033        00010010        000001101011
  17658. 0034        00010011        000011010010
  17659. 0035        00010100        000011010011
  17660. 0036        00010101        000011010100
  17661. 0037        00010110        000011010101
  17662. 0038        00010111        000011010110
  17663. 0039        00101000        000011010111
  17664. 0040        00101001        000001101100
  17665. 0041        00101010        000001101101
  17666. 0042        00101011        000011011010
  17667. 0043        00101100        000011011011
  17668. 0044        00101101        000001010100
  17669. 0045        00000100        000001010101
  17670. 0046        00000101        000001010110
  17671. 0047        00001010        000001010111
  17672. 0048        00001011        000001100100
  17673. 0049        01010010        000001100101
  17674. 0050        01010011        000001010010
  17675. 0051        01010100        000001010011
  17676. 0052        01010101        000000100100
  17677. 0053        00100100        000000110111
  17678. 0054        00100101        000000111000
  17679. 0055        01011000        000000100111
  17680. 0056        01011001        000000101000
  17681. 0057        01011010        000001011000
  17682. 0058        01011011        000001011001
  17683. 0059        01001010        000000101011
  17684. 0060        01001011        000000101100
  17685. 0061        00110010        000001011010
  17686. 0062        00110011        000001100110
  17687. 0063        001101000        00001100111
  17688. 0064        11011            0000001111
  17689. 0128        10010            000011001000
  17690. 0192        010111        000011001001
  17691. 0256        0110111        000001011011
  17692. 0320        00110110        000000110011
  17693. 0384        00110111        000000110100
  17694. 0448        01100100        000000110101
  17695. 0512        01100101        000000110110
  17696. 0576        01101000        000001101101
  17697. 0640        01100111        000000100100
  17698. 0704        011001100        000000100101
  17699. 0768        011001101        000000100110
  17700. 0832        011010010        000000100111
  17701. 0896        011010011        000000111000
  17702. 0960        011010100        000000111001
  17703. 1024        011010101        000000111010
  17704. 1088        011010110        000000111011
  17705. 1152        011010111        000000111010
  17706. 1216        011011000        000000111011
  17707. 1280        011011001        000000101000
  17708. 1344        011011010        000000101001
  17709. 1408        011011011        000000101010
  17710. 1472        010011000        000000101011
  17711. 1536        010011001        000000101100
  17712. 1600        010011010        000000101101
  17713. 1664        011000        000000110010
  17714. 1728        010011011        000000110011
  17715. EOL        000000000001    000000000001
  17716.  
  17717.  
  17718. ==========================================================================
  17719. Appendix B
  17720. Return Codes
  17721.  
  17722.  
  17723. The following paragraphs describe the correct time to read the RET_CODE 
  17724. field of the JT Fax API window.
  17725.  
  17726. When the PC is finished receiving data from the JT Fax board, then the JT Fax 
  17727. issues an EOT in the Command field. The JT Fax board sends a BOARD_ACK in 
  17728. the Command field when the transmission is complete. At this time the PC 
  17729. should read the RET_CODE field of the JT Fax API window. If the command 
  17730. field changes to an error, the RET_CODE is valid.
  17731.  
  17732. Some of the errors are fatal and some are operational. Fatal errors halt 
  17733. execution with an error flag while operational errors are less severe and 
  17734. will allow the Fax operation to continue. Operational errors are read at the 
  17735. end of a receive or transmit. Once an error occurs, Buffer area [0] can be 
  17736. checked for additional return code information. If available, the byte will be 
  17737. non-zero. Also, the status field can be checked to determine the state of the 
  17738. JT Fax.
  17739.  
  17740. The following paragraphs describe the JT Fax Return Codes.
  17741.  
  17742. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17743. RETURN_CODE: 00    MNEMONIC: SUCCESSFUL_TRANSMIT
  17744.  
  17745.     DESCRIPTION: A successful transmit occurred with no errors. This is a JT Fax
  17746.     compatibility code.
  17747.  
  17748.     RECOMMENDED ACTION: Fax was good.
  17749.  
  17750. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17751. RETURN_CODE: 01    MNEMONIC: NO_DIALTONE
  17752.  
  17753.     DESCRIPTION: A dial command was issued with either a 'W' dial modifier or a wait for
  17754.     dialtone in byte 0 of the dial string. Fatal error.
  17755.  
  17756.     RECOMMENDED ACTION: Check cable connections and redial.
  17757.  
  17758. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17759. RETURN_CODE: 02    MNEMONIC: NO_CARRIER
  17760.  
  17761.     DESCRIPTION: A complete connection was not established. A NO_CARRIER error
  17762.     appears after the dial and before the Phase A completion. JT Fax compatibility. Fatal
  17763.     error.
  17764.  
  17765.     RECOMMENDED ACTION: Check phone number and retry call. Try enabling enhanced
  17766.     mode to determine the exact cause of error.
  17767.  
  17768. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17769. RETURN_CODE: 03    MNEMONIC: BUSY
  17770.  
  17771.     DESCRIPTION: The called phone number was busy or a circuit was busy. Fatal error.
  17772.  
  17773.     RECOMMENDED ACTION: Retry call.
  17774.  
  17775. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17776. RETURN_CODE: 04    MNEMONIC: PC_COMM_ERROR
  17777.  
  17778.     DESCRIPTION: Invalid response or command while in command state. Fatal error.
  17779.  
  17780.     RECOMMENDED ACTION: Check Host for problems.
  17781.  
  17782. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17783. RETURN_CODE: 07    MNEMONIC: CLIP
  17784.  
  17785.     DESCRIPTION: An ASCII file was converted to T.4 data and a line was longer than 216
  17786.     bytes (including spaces and tabs). This error only occurs during a FILETYPE - ASCII
  17787.     conversion during transmit. The error does not cause an abort to the transmit.
  17788.     Operational error.
  17789.  
  17790.     RECOMMENDED ACTION: Continue with fax or terminate call with a SOFT_RESET.
  17791.     Modify file before retransmitting.
  17792.  
  17793. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17794. RETURN_CODE: 10    MNEMONIC: DIALING_ERROR
  17795.  
  17796.     DESCRIPTION: A dial command was issued and one of the characters in the dial string
  17797.     was invalid. Fatal error.
  17798.  
  17799.     RECOMMENDED ACTION: Check dial string and redial.
  17800.  
  17801. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17802. RETURN_CODE: 12    MNEMONIC: FONT_TOO_LARGE
  17803.  
  17804.     DESCRIPTION: The soft font file was too large for the soft font area. This error could
  17805.     also apply to the OEM code load. Fatal error.
  17806.  
  17807.     RECOMMENDED ACTION: Shorten soft font and retry.
  17808.  
  17809. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17810. RETURN_CODE: 19    MNEMONIC: TRANSMIT_PAGE_ERROR
  17811.  
  17812.     DESCRIPTION: Transmit page was not received correctly. Operational error.
  17813.  
  17814.     RECOMMENDED ACTION: Retry call. Check remote fax machine and/or telephone line..
  17815.  
  17816. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17817. RETURN_CODE: 20    MNEMONIC: PHASE_A_ERROR
  17818.  
  17819.     DESCRIPTION: The transmitted Fax was not received correctly. Operational error
  17820.  
  17821.     RECOMMENDED ACTION: Retry call. Call Hayes Customer Service.
  17822.  
  17823. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17824. RETURN_CODE: 21    MNEMONIC: NO_CNG_ERROR
  17825.  
  17826.     DESCRIPTION: No 1100 Hz CNG tone was detected from the Caller. If CNG detect is
  17827.     enabled this informs the user that a CNG was not detected. If CNG detect is not
  17828.     enabled then this error will not occur. Operational error.
  17829.  
  17830.     RECOMMENDED ACTION: Hang up the Fax call and use a voice connection.
  17831.  
  17832. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17833. RETURN_CODE: 30    MNEMONIC: PHASE_C_ERROR
  17834.  
  17835.     DESCRIPTION: This a general error for Phase C. Operational error.
  17836.  
  17837.     RECOMMENDED ACTION: Retry Call. Call Hayes Customer Support.
  17838.  
  17839. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17840. RETURN_CODE: 32    MNEMONIC: MAX_FRAME_ERR
  17841.  
  17842.     DESCRIPTION: The FAX handshake frame was too large for the JT Fax buffers. This is
  17843.     usually caused by a noisy line. Fatal error.
  17844.  
  17845.     RECOMMENDED ACTION: Check line and redial.
  17846.  
  17847. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17848. RETURN_CODE: 35    MNEMONIC: LONG_LINE_ERROR
  17849.  
  17850.     DESCRIPTION: An error occurred in the reception of data. A line was received and
  17851.     decoded as being to long. This only occurs if the line is noisy.
  17852.  
  17853.     RECOMMENDED ACTION: Check phone line and redial.
  17854.  
  17855. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17856. RETURN_CODE: 36    MNEMONIC: PERCENTAGE_ERROR
  17857.  
  17858.     DESCRIPTION: Percentage of data errors on receive versus the amount of correctly
  17859.     received data. Operational error.
  17860.  
  17861.     RECOMMENDED ACTION: Check line for connection or noise.
  17862.  
  17863. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17864. RETURN_CODE: 40    MNEMONIC: PHASE_D_ERROR
  17865.  
  17866.     DESCRIPTION: A response from the remote machine was not received after transmit
  17867.     during the required time. Operational error.
  17868.  
  17869.     RECOMMENDED ACTION: Check line for connection or noise.
  17870.  
  17871. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17872. RETURN_CODE: 60    MNEMONIC: DTMF_ERROR
  17873.  
  17874.     DESCRIPTION: A valid DTMF signal was not received. Operational error.
  17875.  
  17876.     RECOMMENDED ACTION: Check connection.
  17877.  
  17878. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17879. RETURN_CODE: 61    MNEMONIC: NO_DTMF_TIMEOUT_ERROR
  17880.  
  17881.     DESCRIPTION: A manual DTMF command was issued. The activity timer expired with no
  17882.     DTMF. Operational error.
  17883.  
  17884.     RECOMMENDED ACTION: Check connection and line noise.
  17885.  
  17886. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17887. RETURN_CODE: 62    MNEMONIC: VOICE_ERROR
  17888.  
  17889.     DESCRIPTION: An error occurred during the operation of a voice command. Fatal 
  17890.     error.
  17891.  
  17892.     RECOMMENDED ACTION: Retry voice operation.
  17893.  
  17894. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17895. RETURN_CODE: 122    MNEMONIC: HDLC_MIN_SIZE_ERROR
  17896.  
  17897.     DESCRIPTION: The HDLC frame of the T.30 handshake was shorter than expected.
  17898.     Invalid frame was received. Fatal error.
  17899.  
  17900.     RECOMMENDED ACTION: Check remote Fax.
  17901.  
  17902. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17903. RETURN_CODE: 123    MNEMONIC: HDLC_CRC_ERROR
  17904.  
  17905.     DESCRIPTION: The HDLC frame of the T.30 handshake did not have a good CRC. Fatal
  17906.     error.
  17907.  
  17908.     RECOMMENDED ACTION: Check line for noise and check remote fax. Retry call.
  17909.  
  17910. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17911. RETURN_CODE: 124    MNEMONIC: NEGOTIATING_TRAIN_DCN_ERROR
  17912.  
  17913.     DESCRIPTION: A DCN was received while the Fax was negotiating speed. Fatal error.
  17914.  
  17915.     RECOMMENDED ACTION: Check line for noise and check remote Fax. Retry call.
  17916.  
  17917. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17918. RETURN_CODE: 125    MNEMONIC: HDLC_FRAME_TIMOUT_ERROR
  17919.  
  17920.     DESCRIPTION: A time-out occurred while waiting for the HDLC T.30 handshake. Fatal
  17921.     error.
  17922.  
  17923.     RECOMMENDED ACTION: Check line for noise and check remote Fax. Retry call.
  17924.  
  17925. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17926. RETURN_CODE: 126    MNEMONIC: NO_DCS_REC
  17927.  
  17928.     DESCRIPTION: A DCS was not received from the caller. Caused by equipment
  17929.     malfunction at remote site. Fatal error.
  17930.  
  17931.     RECOMMENDED ACTION: Check remote fax and redial.
  17932.  
  17933. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17934. RETURN_CODE: 128    MNEMONIC: BAD_DIS_REC
  17935.  
  17936.     DESCRIPTION: A DIS received from the callee was in error. Possible remote equipment
  17937.     problems. Fatal error.
  17938.  
  17939.     RECOMMENDED ACTION: Check remote fax and redial.
  17940.  
  17941. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17942. RETURN_CODE: 129    MNEMONIC: BAD_TRAINING
  17943.  
  17944.     DESCRIPTION: An error occurred during the training phase of the call. Line 
  17945.     quality does not support speeds available. Fatal error.
  17946.  
  17947.     RECOMMENDED ACTION: Check remote fax, phone line and redial.
  17948.  
  17949. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17950. RETURN_CODE: 130    MNEMONIC: PHASE_B_ERROR
  17951.  
  17952.     DESCRIPTION: An error occurred during the negotiation phase of the call. This 
  17953.     could be a failure to negotiate parameters. Fatal error.
  17954.  
  17955.     RECOMMENDED ACTION: Check type of remote fax and redial.
  17956.  
  17957. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17958. RETURN_CODE: 131    MNEMONIC: BAD_MPS_RESPONSE
  17959.  
  17960.     DESCRIPTION: In Phase D the negotiation for Multiple pages was in error. 
  17961.     Operational error.
  17962.  
  17963.     RECOMMENDED ACTION: Check remote fax and redial.
  17964.  
  17965. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17966. RETURN_CODE: 132    MNEMONIC: BAD_MCF_RESPONSE
  17967.  
  17968.     DESCRIPTION: A message confirmation after training did not occur. Fatal error.
  17969.  
  17970.     RECOMMENDED ACTION: Check remote fax and redial.
  17971.  
  17972. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17973. RETURN_CODE: 133    MNEMONIC: BAD_DCS_RESPONSE
  17974.  
  17975.     DESCRIPTION: A bad response from the DCS message caused this error. Fatal error.
  17976.  
  17977.     RECOMMENDED ACTION: Check remote fax and redial.
  17978.  
  17979. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17980. RETURN_CODE: 134    MNEMONIC: PHASE_D_ERROR
  17981.  
  17982.     DESCRIPTION: An error occurred during the operation of a voice command. 
  17983.     Fatal error.
  17984.  
  17985.     RECOMMENDED ACTION: Check phone line and redial.
  17986.  
  17987. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17988. RETURN_CODE: 135    MNEMONIC: NO_PC_ACK
  17989.  
  17990.     DESCRIPTION: A PC_ACK was not received in response to the LOAD_DATA_COMMAND.
  17991.     A 5 sec time-out error to the host. Operational error.
  17992.  
  17993.     RECOMMENDED ACTION: Fax may have errors.
  17994.  
  17995. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  17996. RETURN_CODE: 136    MNEMONIC: NO_DATA_RECEIVED
  17997.  
  17998.     DESCRIPTION: No data was received from the remote fax. Caused by a line drop or the
  17999.     remote fax abnormally terminated the call.
  18000.  
  18001.     RECOMMENDED ACTION: Check phone line.
  18002.  
  18003. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18004. RETURN_CODE: 137    MNEMONIC: PAGE_ERROR 
  18005.  
  18006.     DESCRIPTION: Page data was received in error from the remote fax. 
  18007.  
  18008.     RECOMMENDED ACTION: Check phone line.
  18009.  
  18010. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18011. RETURN_CODE: 138    MNEMONIC: SUCCESSFUL_RECEIVE
  18012.  
  18013.     DESCRIPTION: Fax was received successfully.
  18014.  
  18015.     RECOMMENDED ACTION: Ready for next fax transaction.
  18016.  
  18017. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18018. RETURN_CODE: 243    MNEMONIC: ROCK_ERROR
  18019.  
  18020.     DESCRIPTION: This error indicates that the Rockwell chip is not responding. 
  18021.     Operational error.
  18022.  
  18023.     RECOMMENDED ACTION: Turn off power and reinstall the board. If this does not
  18024.     correct the problem, contact Hayes Customer Service.
  18025.  
  18026.  
  18027. ==========================================================================
  18028. Appendix C
  18029. Status Codes
  18030.  
  18031.  
  18032. Status codes do not require a response from the Host. The code will reflect 
  18033. the state of the JT Fax 14400B Dual. It is not necessary to issue a PC_ACK 
  18034. command when receiving the status notification. However, the IDLE command 
  18035. in the Status Code field is recommended because it incorporates a more 
  18036. fault-tolerant coding algorithm. Status codes may be used to provide 
  18037. additional information during a fax call procedure.
  18038.  
  18039. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18040. STATUS CODE: 01    MNEMONIC: RING
  18041.  
  18042.     DESCRIPTION: A ring was detected during the dialing of number.
  18043.  
  18044. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18045. STATUS CODE: 02    MNEMONIC: SUBSCRIBER_INFO
  18046.  
  18047.     DESCRIPTION: CSI/TSI info is available in the buffer area.
  18048.  
  18049. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18050. STATUS CODE: 0E    MNEMONIC: PHASE_E_START
  18051.  
  18052.     DESCRIPTION: Start of T.30 Phase E.
  18053.  
  18054. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18055. STATUS CODE: 10    MNEMONIC: PHASE_A_START
  18056.  
  18057.     DESCRIPTION: Phase A begins call establishment.
  18058.  
  18059. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18060. STATUS CODE: 11    MNEMONIC: PHASE_B_START
  18061.  
  18062.     DESCRIPTION: Phase B starts the initial negotiation of speed and format.
  18063.  
  18064. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18065. STATUS CODE: 12    MNEMONIC: PHASE_C_START
  18066.  
  18067.     DESCRIPTION: Start of Phase C for fax transmission.
  18068.  
  18069. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18070. STATUS CODE: 13    MNEMONIC: PHASE_D_START
  18071.  
  18072.     DESCRIPTION: Start of Phase D and post message handling.
  18073.  
  18074. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18075. STATUS CODE: 20    MNEMONIC: NEGOTIATING_SPEED
  18076.  
  18077.     DESCRIPTION: Speed negotiation is occurring during Phase B.
  18078.  
  18079. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18080. STATUS CODE: 21    MNEMONIC: CONNECT
  18081.  
  18082.     DESCRIPTION: Indicates that all handshaking is complete and fax data will be
  18083. transmitted.
  18084.  
  18085. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18086. STATUS CODE: 22    MNEMONIC: VOICE_MODE
  18087.  
  18088.     DESCRIPTION: Notification of automatic voice mode is entered.
  18089.  
  18090.  
  18091. ==========================================================================
  18092. Appendix D
  18093. T.30 Phase Descriptions
  18094.  
  18095.  
  18096. Fax communication occurs in phases. As defined by the ITU-T the phases 
  18097. are:
  18098.  
  18099. ----------------------------------------
  18100. Phase A    Call Establishment
  18101. Phase B    Pre-message Procedure
  18102. Phase C    In-message Procedure
  18103. Phase D    Post Message Procedure
  18104. Phase E    Call Release
  18105.  
  18106. The following sections describe the phases as they relate to the JT Fax 
  18107. 14400B Dual in the default configuration.
  18108.  
  18109.  
  18110. **************************************************************************
  18111. Phase A
  18112. The calling fax (caller) goes "off hook" and listens for dialtone. After 
  18113. dialtone has been detected, dialing the phone number starts. The dialing call 
  18114. progress includes the detection of the ring and busy signals. In addition to the 
  18115. call progress, the T.30 1100-Hz CNG tone is transmitted with a cycle time 
  18116. of 0.5 seconds on and 3 seconds off. Transmission of the CNG cycle continues 
  18117. until the receiving fax (callee) transmits a T.30 2100 Hz CED. Once the CED 
  18118. is detected, the caller waits for a silent period. The silent period terminates 
  18119. Phase A for the caller.
  18120.  
  18121. The callee detects a "ring" signal and goes to off-hook. 1.8 
  18122. seconds after going "off hook", the callee transmits the 2100-Hz CED for 2.8 
  18123. seconds. The ending of the CED terminates Phase A for the callee.
  18124.  
  18125.  
  18126. **************************************************************************
  18127. Phase B
  18128. After a silent period of 75 milliseconds the receiver transmits a CSI, NSF and a 
  18129. DIS frame. The DIS frame contains the negotiating parameters. Once the DIS 
  18130. is transmitted, the receiver looks for a response from the caller. During a 3.5 
  18131. second time-out period, the receiver receives a DCS frame from the caller. 
  18132. Once a mode has been selected from the DCS frame, the caller transmits a 
  18133. training sequence 75 milliseconds later. If the training sequence is within 
  18134. error parameters, the receiver transmits a TCF. The TCF marks the end of 
  18135. Phase B for the receiver.
  18136.  
  18137. The caller detects a silent period and starts the pre-message handshake. The 
  18138. handshake begins with the reception of the DIS frame. After the reception of 
  18139. the DIS frame, the TSI and DCS frames are transmitted. The caller sends a 
  18140. training signal for 75 milliseconds after sending the DCS frame. The training 
  18141. signal has a duration of 1.5 seconds. If the signal was received without 
  18142. errors by the receiver, a CFR frame is received. The reception of the CFR 
  18143. frame marks the end of Phase B for the caller.
  18144.  
  18145.  
  18146. **************************************************************************
  18147. Phase C
  18148. The caller transmits the Fax message 75 milliseconds after the CFR. The 
  18149. format of the message is T.4 Huffman encoded data. A RTC sequence will be 
  18150. sent at the end of the page to signal the receiver to transition into Phase D.
  18151.  
  18152. The receiver receives the Fax message and examines the T.4 codes for errors. 
  18153. A "TIC" mark will be printed in the left most column to signify a line error. 
  18154. When a RTC is received, the receiver transitions into Phase D.
  18155.  
  18156.  
  18157. **************************************************************************
  18158. Phase D
  18159. The caller transmits one of the following:
  18160.  
  18161. Ñ    EOM
  18162. Ñ    MPS to start the procedure to re-enter Phase C
  18163. Ñ    EOP frame to proceed to Phase E. 
  18164.  
  18165. After receipt of a MCF from the receiver, the caller goes to either Phase E or 
  18166. re-enters Phase C. To re-enter Phase C, the caller transmits another train 
  18167. sequence. The caller looks for a confirmation of the retrain in the form of a 
  18168. RTP frame. Once an RTP is received, the caller re-enters Phase C. Exiting to 
  18169. Phase E requires only the reception of a MCF.
  18170.  
  18171. The receiver waits for a EOM, MPS or EOP frame. Upon receiving a MPS or EOM 
  18172. frame, the receiver transmits a MCF. After transmitting the MCF frame, the 
  18173. receiver looks for a training signal. If the signal is within error limits, the 
  18174. receiver transmits a CFR. Transmitting the CFR marks the end of Phase D and 
  18175. the receiver re-enters Phase C. If an EOP frame was received, the receiver 
  18176. transmits a MCF and proceeds to Phase E.
  18177.  
  18178.  
  18179. **************************************************************************
  18180. Phase E
  18181. The caller sends a DCN frame to the receiver and disconnects the telephone line.
  18182.  
  18183. The receiver waits for the reception of a DCN frame. After receiving a DCN, the 
  18184. receiver disconnects the telephone line.
  18185.  
  18186.  
  18187. ==========================================================================
  18188. Appendix E
  18189. Buffer Area Layout
  18190.  
  18191.  
  18192. The BUFFER_AREA is a multipurpose area used in several commands. The 
  18193. following chart defines the buffer area during different stages of a Fax 
  18194. operation.
  18195.  
  18196. Operation                Layout
  18197. --------------------------------------------------------------------------------
  18198. XMIT - TelephoneNumber        BYTE 0 - 60 used for phone number.
  18199. XMIT - Header            BYTE 0 - 19 used for TSI/CSI information
  18200.                     (optional if TSI/CSI command used)
  18201.                     Ñ    BYTE 55 used for page number;
  18202.                         followed by space
  18203.                     Ñ    BYTE 56-58 padded with spaces.
  18204.  
  18205. All other operations require the following: 
  18206.  
  18207.     BYTE         0 location
  18208.     WORD     0 - 1 location in INTEL Format
  18209.     LONG         0 - 3 location in INTEL Format
  18210.  
  18211. The buffer area is also used to transmit default CSI/TSI information. A zero 
  18212. in buffer [0] prohibits the buffer area CSI/TSI data from being transmitted.
  18213.  
  18214.  
  18215. ==========================================================================
  18216. Appendix F
  18217. OEM Code Guidelines
  18218.  
  18219. JT Fax provides a method to off-load code from the Server and run the code 
  18220. in the JT Fax while JT Fax is idle. Use the following guidelines to offload 
  18221. code: 
  18222.  
  18223. 1.    The code must be in 8088 assembly language.
  18224. 2.    Code segment must be 0H.
  18225. 3.    Stack frame and registers must be preserved.
  18226. 4.    Code size including data must not be greater than 28 KB.
  18227. 5.    The starting address for code must be 0:8800H.
  18228. 6.    Soft fonts are not available while using OEM code. 
  18229. 7.    Upon entry into OEM code the following registers contain values
  18230.  
  18231.     es:    Points to the JT Fax code segment
  18232.     ax:    Points to the OEM entry point for executing JT Fax commands
  18233.     bx:     Points to timer service routine for user timers
  18234.     cx:     Points to the OEM exit point
  18235.     ss:     Points to Stack Segment
  18236.     sp:     Points to Stack pointer.
  18237.  
  18238. 8.    Code must be in binary form.
  18239. 9.    Timer interrupts continue to run.
  18240.  
  18241.  
  18242. ==========================================================================
  18243. Appendix G
  18244. Command Codes
  18245.  
  18246.  
  18247. The following chart presents the JT Fax commands in numerical order by 
  18248. command code.
  18249.  
  18250.     Code        Command
  18251.     ---------------------------------------------
  18252.     00H         IDLE_STATUS
  18253.     01H         XMIT_COMMAND
  18254.     02H         BOARD_ACK_STATUS 
  18255.     03H         LOAD_DATA_COMMAND
  18256.     04H         LOAD_FONT_COMMAND
  18257.     05H         PC_ACK 
  18258.     06H         ERRFLAG 
  18259.     08H         EOPFLAG 
  18260.     0FH         EOTFLAG 
  18261.     10H         MANUAL_REC_COMMAND 
  18262.     10H         RECVINIT 
  18263.     20H         SET_CARRIER_COMMAND 
  18264.     21H         STATUS_COMMAND 
  18265.     22H         REC_PCX_ON_COMMAND 
  18266.     23H         REC_PCX_OFF_COMMAND 
  18267.     24H         ON_HOOK_COMMAND
  18268.     25H         OFF_HOOK_COMMAND 
  18269.     26H         FAX_MODE_COMMAND 
  18270.     27H         MODEM_MODE_COMMAND 
  18271.     28H         DTMF_ON_COMMAND
  18272.     29H         DTMF_OFF_COMMAND 
  18273.     2AH         DTMF_ON_TIME_COMMAND
  18274.     2BH         DTMF_OFF_TIME_COMMAND 
  18275.     2CH         DTMF_DIAL_COMMAND
  18276.     2DH         PULSE_DIAL_COMMAND 
  18277.     2EH         NO_BUSY_COMMAND
  18278.     2FH         BUSY_COMMAND
  18279.     30H         HARDWARE_RESET_COMMAND 
  18280.     31H         SOFTWARE_RESET_COMMAND 
  18281.     32H         PULSE_INTER_COMMAND 
  18282.     33H         RESET_DATA_PUMP
  18283.     34H         CNG_ON_COMMAND
  18284.     35H         CNG_OFF_COMMAND
  18285.     36H         CED_ON_COMMAND 
  18286.     37H         CED_OFF_COMMAND
  18287.     3AH         PULSE_BREAK_COMMAND 
  18288.     3BH         PULSE_MAKE_COMMAND 
  18289.     3EH         SPEAKER_ON_COMMAND 
  18290.     3FH         SPEAKER_OFF_COMMAND 
  18291.     4EH         EXTEND_STATUS_ON _COMMAND
  18292.     4FH         EXTEND_STATUS_OFF_COMMAND
  18293.     50H         FAX_144_MODE_ON_COMMAND
  18294.     51H         FAX_144_MODE_OFF_COMMAND
  18295.     52H         ENHANCED_MODE_ON _COMMAND
  18296.     53H         ENHANCED_MODE_OFF_COMMAND
  18297.     54H         SET_USER_TSI_COMMAND
  18298.     55H         SET_USER_CSI_COMMAND
  18299.     5FH         SETUP_VOICE_COMMAND 
  18300.     60H         CNG_DETECT_ON_COMMAND 
  18301.     61H         CNG_DETECT_OFF_COMMAND 
  18302.     62H         PLAY_START_COMMAND 
  18303.     63H         PLAY_END_COMMAND 
  18304.     64H         REC_START_COMMAND
  18305.     65H         REC_STOP_COMMAND 
  18306.     66H         EOVFLAG
  18307.     67H         GAIN_UP_COMMAND
  18308.     68H         GAIN_DOWN_COMMAND
  18309.     69H         SET_GAIN_COMMAND 
  18310.     6AH         SET_SAMPLE_RATE_COMMAND
  18311.     6BH         SET_SLEW_RATE_COMMAND 
  18312.     6CH         SILENCE_DETECTED_STATUS
  18313.     6FH         SET_ACT_TIMER_COMMAND 
  18314.     70H         DTMF_DETECT_STATUS 
  18315.     71H         RETURN_TO_DATA_COMMAND 
  18316.     72H         RETURN_TO_COMMAND
  18317.     73H         DTMF_DETECT_ON_COMMAND 
  18318.     74H         DTMF_DETECT_OFF_COMMAND
  18319.     75H         GET_DTMF_COMMAND 
  18320.     76H         EODFLAG
  18321.     77H        ONLINE_VOICE_REC_ON_COMMAND
  18322.     78H        ONLINE_VOICE_REC_OFF_COMMAND
  18323.     79H         OEM_CODE_COMMAND 
  18324.     7AH         OEM_LOAD_COMMAND 
  18325.     0F0H         GOOD_INIT
  18326.     0F1H         BAD_RAM 
  18327.     0F2H         BAD_ROM
  18328.     0FFH        BOARD_SYNC_COMMAND
  18329.  
  18330.  
  18331. ==========================================================================
  18332. Appendix H
  18333. References
  18334.  
  18335.  
  18336. CCITT Blue Book, Volume VII - Facscicle VII.3, "Terminal Equipment and Protocols for
  18337.  Telematic Services", Recommendations T.0-T.63, IXth Plenary Assembly, Melbourne, 
  18338. November 14-25,1988.
  18339.  
  18340. Rockwell R144EFX bps MONOFAX Modem Designers Guide, Document No. 29800N46, 
  18341. November 1990.
  18342.  
  18343. FAX, "Digital Facsimile Technology and Applications", McConnell, Bodson and Schaphorst, 
  18344. Second Edition, Artech House, Norwood, MA, 1992.
  18345.  
  18346.  
  18347. ==========================================================================
  18348. Appendix I
  18349. Hayes Customer Service
  18350.  
  18351.  
  18352. To obtain Warranty/Guarantee Service, call or write to the appropriate Hayes Customer Service 
  18353. location listed below for a return authorization number, and then return the product to that location 
  18354. along with (a) the return authorization number, (b) proof of date of purchase, and (c) your mailing 
  18355. address and telephone number, postage prepaid.
  18356.  
  18357. Please note that if the product is returned without proof of purchase or after the expiration of the 
  18358. warranty/guarantee coverage period, Hayes will, at its option, repair or replace the product and charge 
  18359. you the then effective Hayes price for out-of-warranty/guarantee service of the product, unless Hayes 
  18360. has discontinued the manufacture or distribution of the product because of technical obsolescence.
  18361.  
  18362. Americas Region    Hayes Microcomputer Products, Inc.
  18363. Attention: Customer Service
  18364. P.O. Box 105203
  18365. Atlanta, Georgia 30348-5203
  18366. Telephone: (404) 441-1617 Telefax: (404) 449-0087
  18367. Telex: 703500 HAYES USA
  18368. Online with Hayes BBS: (404) HI-MODEM or (800) US-HAYES and
  18369. Hayes forums on CompuServe (GO HAYES) and GEnie information
  18370. services.
  18371.  
  18372. Note: If the carrier requires a street address, direct returns to the following address:
  18373.  
  18374. Hayes Microcomputer Products, Inc.
  18375. Attention: Customer Service
  18376. 5953 Peachtree Industrial Blvd.
  18377. Norcross, Georgia 30092
  18378.  
  18379. Asia Region    Hayes Microcomputer Products, Inc.
  18380. 39/F, Unit B, Manulife Tower
  18381. 169 Electric Road, North Point, Hong Kong
  18382. Telephone + 852 887-1037, Telefax + 852 887-7548
  18383. Telex: 69381 HAYES HX
  18384. Online with Hayes BBS: + 852 887-7590
  18385.  
  18386. Note: This version of the "JT Fax 14400B Dual Application Developer's Guide" is a
  18387. special version edited for bulletin-board downloading. As a plain ASCII
  18388. character file, it therefore cannot contain any of the graphic elements
  18389.  provided in the printed version.
  18390.  
  18391. The following graphic characters are used to denote the start of Chapters,
  18392. 1st Level Headings, 2nd Level Headings, and Table Headings:
  18393.  
  18394. Chapter Headings are preceded by:
  18395. ==========================================================================
  18396.  
  18397. 1st Level Headings are preceded by:
  18398. **************************************************************************
  18399.  
  18400. 2nd Level Headings are preceded by:
  18401. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18402.  
  18403. Table Headings are separated from table listings by:
  18404. -----------------------------------------------------------------------------
  18405.  
  18406. =============================================================================
  18407. CHANGE RECORD:
  18408.  
  18409.         Original
  18410.  
  18411.  
  18412. ==========================================================================
  18413. Chapter 1
  18414. Introduction
  18415.  
  18416.  
  18417. The Hayes JT Fax 14400B Dual is a board level Fax product developed specially 
  18418. for "high end" server environments where throughput is a major concern. 
  18419. The JT Fax 14400B Dual contains two independent 14.4 KBPS Group 3-compatible 
  18420. fax modems, providing an interface directly to the PC ISA bus. Both fax modems 
  18421. interface to the host software at the speed of the ISA bus specification (i.e., 4-8 
  18422. MHz). Data transfer between JT Fax and the host software can occur at the 
  18423. MBPS rate. In comparison, most serial based facsimile units can only transfer 
  18424. data in the KBPS range. Considering speed alone, the JT Fax 14400B Dual is ideal 
  18425. for server applications. 
  18426.  
  18427. Additional functionality is added to decrease the burden on the application 
  18428. software and thus the host computer. These features include:
  18429.  
  18430. Ñ    automatic T.4 encoding and T.30 handshakes
  18431. Ñ    receive Fax real time T.4 to PCX type 3 conversion
  18432. Ñ    Fax speeds of 2400 to 14400 BPS
  18433. Ñ    digital voice transmit and receive record/playback
  18434. Ñ    DTMF transmit and detection.
  18435.  
  18436. The JT Fax 14400B Dual is designed with a simple high-speed interface. The 
  18437. interface does not require that the application developer know T.4 encoding or 
  18438. T.30 handshake protocols for ITU-T (formerly CCITT) Group 3 facsimiles. The 
  18439. JT Fax 14400B Dual is capable of performing all the encoding and decoding 
  18440. required to complete a fax call. However, if the application developer is 
  18441. comfortable with the encoding and decoding of the T.4 formatted data, the JT 
  18442. Fax 14400B Dual is versatile enough to handle this encoded data.
  18443.  
  18444. This Application Developer╒s Guide describes the programming procedure that 
  18445. comprises the JT Fax 14400B Dual Application Programming Interface (API). A 
  18446. list of the functions is provided along with the necessary procedure to 
  18447. implement the functions. Throughout, the guide presents example routines 
  18448. using the elements of the functions to assist the programmer with the 
  18449. application. Included in Appendix G is a quick reference guide of the Command 
  18450. Codes indexed by alphabetical listings and by numeric listing. Also available 
  18451. with the JT Fax 14400B Dual is the developers toolkit, which contains working 
  18452. Fax software with source code. Familiarity with "C" and assembly language is 
  18453. required to use the toolkit. Contact Hayes Customer Service for information 
  18454. about obtaining the JT Fax Toolkit.
  18455.  
  18456. Distinction: JT Fax 14400B Dual is the product described in this Guide. JT Fax is a standard technology in the PC fax industry. The term fax refers to the facsimile technology.
  18457.  
  18458.  
  18459. **************************************************************************
  18460. Manual Organization
  18461. This Application Developer's Guide is arranged as follows:
  18462.  
  18463. This Application/Developers Guide is arranged as follows:
  18464.  
  18465. Chapter 1    Introduction describes the product features and the contents of 
  18466. the remainder of this Guide.
  18467.  
  18468. Chapter 2    Theory of Operation briefly presents the hardware and firmware 
  18469. used to develop the JT Fax 14400B Dual.
  18470.  
  18471. Chapter 3    JT Fax Toolbox describes the concepts, constructs, and structures 
  18472. necessary to develop API software for the JT Fax 14400B Dual.
  18473.  
  18474. Chapter 4    Voice and DTMF Detect describes the voice and DTMF operating 
  18475. modes available with the JT Fax 14400B Dual.
  18476.  
  18477. Chapter 5    Command Reference presents an alphabetical listing of all 
  18478. command codes available in the JT Fax API.
  18479.  
  18480. Chapter 6    Shared Memory Interface Description introduces functions, 
  18481. status codes, return codes and data that is passed through the Shared Memory 
  18482. Interface.
  18483.  
  18484. Chapter 7    File Formats describes the JT Fax file conversion formats.
  18485.  
  18486. Appendix A    ITU-T T.4 Huffman Encoding describes the T.4 Huffman 
  18487. Encoding process used by JT Fax.
  18488.  
  18489. Appendix B    Return Codes describes the timing JT Fax requires to read a return 
  18490. code. The appendix also includes a summary of the JT Fax Return Codes.
  18491.  
  18492. Appendix C    Status Codes provides a summary of the JT Fax Status Codes.
  18493.  
  18494. Appendix D    T.30 Phase Descriptions describes fax call processing techniques 
  18495. used by JT Fax.
  18496.  
  18497. Appendix E    Buffer Area Layout describes the Buffer Area used by several of 
  18498. the JT Fax commands.
  18499.  
  18500. Appendix F    OEM Code Guidelines defines the methodology JT Fax employs to 
  18501. offload code from a fax server.
  18502.  
  18503. Appendix G    Command Codes provides a complete listing of the JT Fax Command 
  18504. Codes in numerical order.
  18505.  
  18506. Appendix H    References lists references used in the development of the 
  18507. product.
  18508.  
  18509. Glossary    Glossary defines terms used in this guide.
  18510.  
  18511. **************************************************************************
  18512. Definitions
  18513. The following terms are used in this documentation:
  18514.  
  18515. Term        Definition
  18516. --------------------------------------------------------------------
  18517. Host         The Program written to interface with the JT Fax
  18518. JT Fax, Fax    The JT Fax 14400B Dual board
  18519. API        Application Programming Interface
  18520. API Block    Shared memory window
  18521. BPS        Bits per second
  18522. WORD        2 bytes
  18523. LONG        4 bytes
  18524.  
  18525. Additional definitions are listed in the Glossary.
  18526.  
  18527.  
  18528. ==========================================================================
  18529. Chapter 2
  18530. Theory of Operation 
  18531.  
  18532.  
  18533. The JT Fax 14400B Dual board includes two, 14400-baud, Group 3 facsimile 
  18534. modems with voice and DTMF capabilities. The facsimile modems are divided 
  18535. into two independent and separate parts, Fax A and Fax B. Each Fax has an 
  18536. independent processor, PC address interface, data pump and telephone line 
  18537. interface (TELCO) section. Both modems share a single PC bus interface and a 
  18538. speaker connection. The speaker volume is controlled by a potentiometer on 
  18539. the back of the unit. Speaker on/off controls are available for both FAX A and 
  18540. B through functions.
  18541.  
  18542. Fax A has the additional feature of a microphone jack. The microphone jack is 
  18543. provided for voice messaging applications.
  18544.  
  18545. **************************************************************************
  18546. Shared Memory Interface - API Block
  18547. The JT Fax interfaces to the PC through a shared memory interface. Access to 
  18548. the shared memory API Block is accomplished by two steps. 
  18549.  
  18550. Step 1:    Set the memory base address set with the DIP switch (see the 
  18551. Hayes JT Fax 14400B Dual Installation Guide) on the JT Fax 14400B Dual board. 
  18552.  
  18553. Step 2:    Scan the memory between addresses 640k and 1M for the keyword 
  18554. "ASHER". Once the keyword is found, the keyword address marks the 
  18555. beginning memory address of the JT Fax API Block.
  18556.  
  18557. The memory address is "blocked out" in a 4 Kb section. The starting address is 
  18558. Fax A. Fax A utilizes the first 2 Kb for an API Block. The adjacent 2K of memory 
  18559. is allocated to Fax B's API Block.
  18560.  
  18561. The shared memory interface requires no interrupt vectors to the PC, no serial 
  18562. port, and no drivers. The application communicates with the JT Fax shared 
  18563. memory using a polled interface method. Polling activation and frequency is 
  18564. host dependent and is determined by the application.
  18565.  
  18566. The handshake required to communicate with JT Fax 14400B Dual utilizes the JT 
  18567. Fax protocol structure. The JT Fax protocol is an ACK-ACK type protocol. All data 
  18568. and commands use this protocol. Chapter 5 provides protocol examples for each 
  18569. command.
  18570.  
  18571. The API Block contains memory windows for command protocol, control, 
  18572. configuration, and data. The Shared Memory Interface (see Chapter 6) details 
  18573. the API block. The API block's most important asset is the 1960 byte buffer for 
  18574. transmitting and receiving fax data. This allows additional time for the host to 
  18575. perform other activities. In addition, the JT Fax has a 9K buffer for transmitting
  18576. and receiving Fax data.
  18577.  
  18578. The transmit and receive capability of the JT Fax 14400B Dual board offers two 
  18579. modes of operation for the host: Manual and Automatic. Manual requires the 
  18580. host to start the initial call/answer procedure by issuing commands that force 
  18581. the Fax into the "off-hook" condition. The remainder of the call/answer is 
  18582. automatic.
  18583.  
  18584. In the Automatic procedure, the call/answer is handled by issuing the 
  18585. appropriate transmit and receive commands. The "off-hook" condition is 
  18586. controlled by the Fax.
  18587.  
  18588.  
  18589. **************************************************************************
  18590. Transmitting
  18591. Transmitting with the JT Fax 14400B Dual is straight-forward since the modem 
  18592. automatically executes the T.4 and T.30 handshake. The host is only responsible 
  18593. for the phone number, data to be transmitted, and the simple handshake 
  18594. protocol to JT Fax and the host. 
  18595.  
  18596. The following is a high level Program Design Language (PDL) example 
  18597. demonstrating a transmit.
  18598.  
  18599.     send SYNC_COMMAND        (only after power up )
  18600.     wait for response
  18601.         GOOD_INIT
  18602.     write to configure API block
  18603.     write phone number in BUFFER_AREA
  18604.     send XMIT_COMMAND
  18605.     wait for response 
  18606.         BOARD_ACK_STATUS
  18607.     write header information into BUFFER_AREA
  18608.     send PC_ACK
  18609.     wait for response LOAD_DATA_COMMAND
  18610.     write data to DATA_AREA
  18611.     send PC_ACK
  18612.     continue to write data till END_OF_FILE is reached
  18613.     send EOT_FLAG
  18614.     wait for response BOARD_ACK_STATUS
  18615.     check ret_code
  18616.         TRANSMIT_SUCCESSFUL
  18617.     send PC_ACK
  18618.  
  18619. A C programming language example of the transmit procedure can be found 
  18620. in the JT Fax Toolkit found on the Online with Hayes BBS in the file JT_TX.C.
  18621.  
  18622. The JT Fax 14400B Dual can have a manual dial if required. The host is required 
  18623. to dial the telephone number and place an "M" in the first byte of the 
  18624. automatic dial string. The "M" tells the JT Fax not to dial a telephone number. The 
  18625. JT Fax continues with the standard call progress. The manual handshake is 
  18626. identical to the automatic handshake.
  18627.  
  18628.  
  18629. *****************************************************************************
  18630. Receiving
  18631. The receive procedure for JT Fax 14400B Dual requires the host to monitor the 
  18632. Fax for an indication of a call. The host sets the number of rings to allow 
  18633. before answering in the RING_COUNT field of the API block. Answering the 
  18634. call and T.30 handshakes are automatic. Once the RING_COUNT is matched, the 
  18635. host receives a RECVINIT in the COMMAND field. The RECVINIT is the 
  18636. notification that an incoming call is being answered.
  18637.  
  18638. After the receiver initializes, the Fax issues a LOAD_DATA_COMMAND. The host 
  18639. should retrieve the data and respond with a PC_ACK. The same handshake 
  18640. continues until the last byte of data for the page or a transmission. To end 
  18641. transmission, the Fax issues an EOT command to the host. The EOT command 
  18642. concludes the handshake for the receive.
  18643.  
  18644. The following is a PDL example demonstrating a fax receive:
  18645.  
  18646.     send SYNC_COMMAND        ( only after power up )
  18647.     wait for response
  18648.         RECVINIT
  18649.     send PC_ACK 
  18650.     wait for response
  18651.         LOAD_DATA_COMMAND
  18652.     retrieve data from DATA_AREA
  18653.     send PC_ACK
  18654.     continue procedural handshake until response
  18655.         EOT_FLAG
  18656.     retrieve data from DATA_AREA    
  18657.     send PC_ACK
  18658.     wait for response
  18659.         BOARD_ACK_STATUS
  18660.     check RET_CODE
  18661.         SUCCESSFUL_RECEIVE
  18662.     send PC_ACK
  18663.     
  18664. A C programming language example of the receive procedure can be found 
  18665. in the JT Fax Toolkit found on the Online with Hayes BBS under the file JT_RX.C.
  18666.  
  18667. The manual receive allows the host to determine when and if the call will be 
  18668. answered. Rings are detected by an outside source or by the extended status 
  18669. code "RING". When the required number of rings is reached, the host issues 
  18670. the MANUAL_RECEIVE_COMMAND.
  18671.  
  18672. Note: To disable automatic detection, it is required to set RING_COUNT to 0FH. 
  18673.  
  18674. The remaining receive handshake procedure is identical to the automatic 
  18675. answer mode.
  18676.  
  18677.  
  18678. ==========================================================================
  18679. Chapter 3
  18680. JT Fax Toolbox
  18681. This section establishes the concepts, constructs, and structures necessary to 
  18682. develop API software. The items in capital letters are the specific functions 
  18683. whose corresponding command values are found in the JT Fax 14400B 
  18684. command set in Chapter 5.
  18685.  
  18686.  
  18687. The JT Fax 14400B Dual uses two contiguous memory blocks, each of which is 2K 
  18688. bytes long. The API Blocks, functions, return codes and status codes are 
  18689. discussed in separate sections of this Guide. In those Chapters, individual items 
  18690. are in alphabetical order for convenience. In the following sections, the items 
  18691. are grouped by function to clarify what functions are available.
  18692.  
  18693.  
  18694. **************************************************************************
  18695. API Block - Shared Memory
  18696. The API entry point for the JT Fax 14400B is the user selectable shared memory 
  18697. window. For backward compatibility, most of the elements of this structure are 
  18698. identical to the JT Fax 9600B. The only changes implemented to this structure 
  18699. are related to the new features of the JT Fax 14400B Dual. The changes are in 
  18700. the field previously defined as RESERVED and in one field not used in 9600B 
  18701. (RESET_PC). The new fields are STATUS_CODE, RCV_FILE_TYPE and RCV_LINES. 
  18702. The following chart describes the available fields:
  18703.  
  18704.  
  18705. Offset Length    Name            Usage/Description
  18706. -----------------------------------------------------------------------
  18707. 0000H-0005H     ID            Location of board address
  18708. 0005H-0001H     COMMAND        Commands and Status
  18709. 0006H-0001H     RING_COUNT    Ring to answer on
  18710. 0007H-0001H     CALL_MODE        Transmit / Receive
  18711. 0008H-0001H     FILE_TYPE         ASCII, PCX, JT Fax
  18712. 0009H-0001H     XMIT_FONT         Resolution, Font number
  18713. 000AH-0001H     MIN_PAGE         Force 11 inch page flag
  18714. 000BH-003DH     BUFFER_AREA     Phone numbers & headers
  18715. 0048H-0002H     SECONDS         Length of connection
  18716. 004AH-0001H     SPEAKER         On, off, on till connect
  18717. 004BH-0001H     RET_CODE         Completion code
  18718. 004CH-0002H     PAGES         Number of pages sent
  18719. 004EH-0002H     DATA_LEN         Length of valid data
  18720. 0050H-0001H     BAUD_RATE         2400, 4800, 7200, 9600, 12000,
  18721.                         14400 baud
  18722. 0051H-0001H     RESET_BOARD     Reset the board
  18723. 0052H-0001H     STATUS_CODE     Extended status
  18724. 0053H-0001H    LINE_COUNT        Number of lines transmitted
  18725. 0054H-0001H     RCV_FILE_TYPE     Receive file type
  18726. 0055H-0002H     RCV_LINE         Lines per page received
  18727. 0057H-0001H     RESERVED         Not used at this time
  18728. 0058H-07A8H     DATA_AREA     Used for file data
  18729.  
  18730. Note: H indicates hexadecimal code.
  18731.  
  18732.  
  18733. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18734. JT Fax 9600 Compatibility
  18735. For backward compatibility, the API set published with the JT Fax 9600B has 
  18736. been fully implemented. These functions use the Command field and are 
  18737. provided here for reference.
  18738.  
  18739. Status                Description
  18740. ------------------------------------------------------------------
  18741. EOTFLAG                End of transmission
  18742. EOP                    End of page
  18743. INIT                    Initialize the board
  18744. LOAD_DATA_COMMAND        Begin transmit of Fax
  18745. LOAD_FONT_COMMAND        Load soft font
  18746. RECVINIT                Begin reception of Fax
  18747. XMIT_COMMAND            No transmission in progress
  18748.  
  18749. The JT Fax 9600B also included some status and PC handshake codes in the 
  18750. Command field. These are fully implemented for backward compatibility. The 
  18751. codes are provided here for reference.
  18752.  
  18753. Command                Description
  18754. ------------------------------------------------------------------------------
  18755. BAD_RAM                RAM test failed
  18756. BAD_ROM                ROM test failed
  18757. BOARD_ACK_STATUS        Board returns when function complete
  18758. BOARD_SYNC_COMMAND        Transition from initialization to 
  18759.                     command
  18760. ERROR                An error has occurred
  18761. GOOD_INIT                Board passed self test
  18762. IDLE_STATUS             No transmission in progress
  18763. PC_ACK                PC returns when function is complete
  18764.  
  18765.  
  18766. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18767. JT Fax 14400B Facsimile API
  18768. The JT Fax 14400B API set is an enhanced version of the 9600B API set. All of 
  18769. the 9600B functions are supported. The following chart lists the facsimile API 
  18770. commands supported:
  18771.  
  18772. Command                Description
  18773. -------------------------------------------------------------------
  18774. EOTFLAG                End of transmission
  18775. EOP_FLAG                End of page
  18776. BOARD_SYNC_COMMAND        Initializes the board
  18777. LOAD_DATA_COMMAND        Begin transmit of Fax
  18778. LOAD_FONT_COMMAND        Load soft font
  18779. RECVINIT                Begin reception of Fax
  18780. XMIT_COMMAND            No transmission in progress
  18781.  
  18782.  
  18783. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18784. JT Fax 14400B Configuration API
  18785. The JT Fax 14400B Dual Configuration functions were not available in the JT 
  18786. Fax 9600B command set. These configuration functions allow the host to 
  18787. customize the operation of the JT Fax 14400B Dual board. The following chart 
  18788. lists the configuration commands:
  18789.  
  18790. Command                Description
  18791. ----------------------------------------------------------------------
  18792. BUSY_COMMAND            Look for busy
  18793. DTMF_OFF_TIME_COMMAND    DTMF off time
  18794. DTMF_ON_TIME_COMMAND    DTMF on time
  18795. ENHANCED_MODE_OFF_COMMANDDisable 14400B modes
  18796. ENHANCED_MODE_ON_COMMAND    Enable all 14400B modes
  18797. EXTEND_STATUS_OFF_COMMAND    Disable extended status
  18798. EXTEND_STATUS_ON_COMMAND    Enable extended status
  18799. FAX_144_MODE_OFF_COMMAND    Disable receive 14400 kbps
  18800. FAX_144_MODE_ON_COMMAND    Enable receive 14400 kbps
  18801. FAX_MODE_COMMAND        Enable JT Fax Mode (testing)
  18802. MODEM_MODE_COMMAND        Disable Fax and enable Modem
  18803. NO_BUSY_COMMAND        Do not look for busy
  18804. PULSE_INTER_COMMAND        Interdigit time
  18805. REC_PCX_OFF_COMMAND        Disable receive PCX format
  18806. REC_PCX_ON_COMMAND        Enable receive PCX format
  18807. SET_CARRIER_COMMAND        Time to wait for carrier
  18808. STATUS_COMMAND            Enable the 14400B status
  18809. USER_CSI_COMMAND        Initializes CSI
  18810. USER_TSI_COMMAND        Initializes TSI
  18811.  
  18812.  
  18813. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18814. Voice Commands
  18815. The Voice mode allows the recording and playback of non-compressed voice 
  18816. messages. 
  18817.  
  18818. During Phase A of a call, the Voice mode is entered after a user definable 
  18819. period of silence. (See Appendix D for a detailed description of JT Fax fax 
  18820. phases). After a period of silence, the user is notified of the "silent period" 
  18821. (SILENCE_DETECTED status) and is provided with a number of options. In 
  18822. addition, DTMF detect is automatically enabled.
  18823.  
  18824. Command                Description
  18825. -------------------------------------------------------------------------------
  18826. CLEAR_VOICE_COMMAND        Disables voice mode
  18827. GAIN_DOWN_COMMAND        Decrements gain increment by 1 dB 
  18828.                     (See SET_GAIN_COMMAND)
  18829. GAIN_UP_COMMAND        Increments the gain increment by 1 dB
  18830.                     (See SET_GAIN_COMMAND)
  18831. PLAY_END_COMMAND        End voice playback
  18832. PLAY_START_COMMAND        Start voice play back
  18833. RECORD_START_COMMAND    Start recording voice
  18834. RECORD_STOP_COMMAND        Stop recording voice
  18835. RETURN_TO_COMMAND         Return to command state from voice
  18836.                     mode
  18837. RETURN_TO_DATA_COMMAND    Return to Fax state from voice mode
  18838. SET_ACT_TIMER_COMMAND    Sets the time to wait for CNG tone
  18839. SET_GAIN_COMMAND        Sets the gain increment
  18840. SET_SLEW_RATE_COMMAND    Sets the "fall off rate" for voice signal 
  18841. SET_VOICE_MODE_COMMAND    Enables voice mode and CNG detect
  18842. TX_DTMF_COMMAND        Transmit DTMF tones
  18843.  
  18844. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  18845. Utility Functions
  18846. Some additional functions were added to aid in testing and debugging. The 
  18847. utility functions provide some of the low-level commands (primitives) used by 
  18848. the JT Fax 14400B to operate the hardware components. The JT Fax 14400B must 
  18849. be in FAX_MODE before any of the utility commands can be used. 
  18850.  
  18851. Caution: Some of these commands change the configuration of the Data Pump. 
  18852. If a change occurs to the data pump configuration, then a hardware reset will 
  18853. restore the values.
  18854.  
  18855. Command                Description
  18856. ------------------------------------------------------------------
  18857. CED_OFF_COMMAND        Turn off CED tone
  18858. CED_ON_COMMAND            Turn on CED tone
  18859. CNG_OFF_COMMAND        Turn off CNG tone
  18860. CNG_ON_COMMAND            Turn on CNG tone
  18861. DTMF_DIAL_COMMAND        Dial a DTMF number
  18862. DTMF_OFF_COMMAND        Turn off a DTMF tone
  18863. DTMF_ON_COMMAND        Turn on a DTMF tone
  18864. OEM_CODE_COMMAND        Execute OEM code onboard
  18865. OEM_LOAD_COMMAND        Load OEM code onboard
  18866. OFF_HOOK_COMMAND        Connects phone line
  18867. ON_HOOK_COMMAND        Disconnects phone line
  18868. PULSE_BREAK_COMMAND        Sets the Break Time
  18869. PULSE_DIAL_COMMAND        Pulse dial a number
  18870. PULSE_MAKE_COMMAND        Sets the Make Time
  18871. RESET_DATA_PUMP_COMMAND    Resets the data pump
  18872. SPEAKER_OFF_COMMAND        Turn off the speaker
  18873. SPEAKER_ON_COMMAND        Turn on the speaker
  18874.  
  18875.  
  18876. **************************************************************************
  18877. Return Codes
  18878. The return codes are enhanced for the JT Fax 14400B. In addition to the old JT 
  18879. Fax 9600B error codes, enhanced codes are available for more accurate 
  18880. problem determination during a FAX call.
  18881.  
  18882. The standard JT Fax 9600B return codes include two status codes, and the 
  18883. remaining codes are error return codes. The return codes are listed in the 
  18884. following table.
  18885.  
  18886. Error Code                Description
  18887. --------------------------------------------------------------------------------
  18888. BAD_DCS_RECEIVE            Error in DCS data
  18889. BAD_DIS_RECEIVE            Bad DIS was received
  18890. BAD_MCF_RESPONSE        Messages not confirmed
  18891. BAD_MPS_RECEIVE            Error in MPS frame
  18892. BAD_TRAINING            Errors received in training
  18893. BUSY                    Busy signal was detected
  18894. CLIPPED                ASCII to T4 line too long
  18895. NO_CARRIER            No connection was established
  18896. NO_DATA_RECEIVED        No data received within time limit
  18897. NO_DIALTONE            No dialtone reported in time limit
  18898. NO_PC_ACK                No PC acknowledge within time limit
  18899. PAGE_ERROR            Error in transmit page or receive page
  18900. PHASE_D_ERROR            Error occurred in Phase D
  18901. SUCCESSFUL_RECEIVE        Receive was successful
  18902. SUCCESSFUL_TRANSMIT        Transmit was successful
  18903.  
  18904. The enhanced mode can be enabled/disabled by the following commands:
  18905.  
  18906. Ñ    ENHANCED_MODE_ON
  18907. Ñ    ENHANCED_MODE_OFF (default).
  18908.  
  18909. The additional enhanced return codes are listed in the following table.
  18910.  
  18911. Error Code                Description
  18912. ------------------------------------------------------------------------------
  18913. ABORT_ERROR            Callee aborted call
  18914. DCN_RECEIVED_ERROR        Unexpected DCN received
  18915. DIALING_ERROR            DTMF digit in error
  18916. DTMF_ERROR            Tone was not DTME
  18917. DTMF_TIMEOUT_ERROR        DTMF tone was not available during timeout
  18918. FAXIT_ERROR            Error during fax transmission
  18919. FONT_TOO_LARGE_ERROR        Soft font too large
  18920. HDLC_CRC_ERROR            HDLC frame had bad CRC
  18921. HDLC_FRAME_TIMEOUT_ERROR    No HDLC frame in time limit
  18922. HDLC_MIN_SIZE_ERROR        Facsimile control frames had incorrect size
  18923. LONG_LINE_ERROR            Line too long in ASCII to Huffman
  18924. MAX_FRAME_ERROR        Facsimile control frames had incorrect size
  18925. NEGOTIATING_TRAIN_DCN_ERROR    DCN received during training
  18926. NO_CNG_ERROR            No CNG detected in received mode
  18927. NO_RECEIVE_DCS_ERROR        No DCS received
  18928. PERCENTAGE_ERROR        Errors in line exceeded percentage limits
  18929. PHASE_A_ERROR            Error occurred in Phase A
  18930. PHASE_B_ERROR            Error occurred in Phase B
  18931. PHASE_C_ERROR            Error occurred in Phase C
  18932. PHASE_E_ERROR            Error occurred in Phase E
  18933. PHASE_E_TIMEOUT            Time-out during handshake Phase E
  18934. ROCK_ERROR            Error in DSP chip
  18935. VOICE_ERROR            Error in voice procedures
  18936.  
  18937.  
  18938. **************************************************************************
  18939. Status Codes
  18940. In addition to the enhanced error codes, enhanced status messages are 
  18941. available. Since status codes do not require a response or action, the codes are 
  18942. reported in the STATUS_CODE.
  18943.  
  18944. Status            Description
  18945. ----------------------------------------------------------
  18946. CONNECT            Connection established
  18947. NEGOTIATING_SPEED    Negotiating connect speed
  18948. PHASE_A_START        Phase A started
  18949. PHASE_B_START        Phase B started
  18950. PHASE_C_START        Phase C started
  18951. PHASE_D_START        Phase D started
  18952. RING                Ring detected
  18953. SUBSCRIBE_INFO        CSI/TSI information available in buffer area
  18954.  
  18955.  
  18956. ==========================================================================
  18957. Chapter 4
  18958. Voice and DTMF Detect
  18959.  
  18960.  
  18961. The voice and DTMF detect option of the JT Fax 14400B Dual has a Manual and an 
  18962. Automatic operating mode. Automatic requires a connection while Manual may 
  18963. be initiated in an off- line or on-line state.
  18964.  
  18965. The Automatic DTMF/VOICE detection for JT Fax 14400B Dual detects DTMF/VOICE 
  18966. during the Phase A (answer mode) of a call. Enable the 
  18967. CNG_DETECT_ON_command for the automatic option. To disable the automatic 
  18968. mode, issue the CNG_DETECT_OFF_COMMAND.
  18969.  
  18970. After a user-defined period of silence (no CNG tone), the JT Fax 14400B Dual 
  18971. enters DTMF/VOICE mode. During this stage, the user has the following options:
  18972.  
  18973. Ñ    detecting DTMF tones
  18974. Ñ    returning to data mode and continuing to answer Fax calls (i.e., send 
  18975. CED)
  18976. Ñ    executing voice commands
  18977. Ñ    returning to command state. 
  18978.  
  18979. The Manual mode only requires setting the options for DTMF/VOICE and the 
  18980. specific command to be issued. Manual mode is independent of connection 
  18981. status.
  18982.  
  18983.  
  18984. **************************************************************************
  18985. DTMF Detect
  18986. Automatic DTMF detection is accomplished when the JT Fax 14400B Dual is in 
  18987. the DTMF/VOICE ╥on-line╙ detect mode. The JT Fax 14400B Dual automatically 
  18988. searches for DTMF tones. If a DTMF tone is found, the tone value is placed in 
  18989. the first byte of the Data_Area and a DTMF_DETECT_STATUS is written into the 
  18990. API command block at location COMMAND. The JT Fax 14400B Dual waits until 
  18991. the Host retrieves the DTMF value and issues a PC_ACK command before 
  18992. searching for more DTMF tones.
  18993.  
  18994. The manual option provides the capability of entering DTMF detect mode from 
  18995. command state. This is independent of connect status. The JT Fax 14400B Dual 
  18996. operates similarly to the automatic DTMF detect. The difference is that the Host 
  18997. must cancel the DTMF detect search with an EOD command. The JT Fax 14400B 
  18998. Dual issues a BOARD_ACK_COMMAND in response. 
  18999.  
  19000. The option for CNG_DETECT does not have to be enabled for the manual DTMF 
  19001. detect. However, DTMF detect option does need to be enabled for manual and 
  19002. automatic operation.
  19003.  
  19004. The DTMF tones detected and reported to the Host are:
  19005.  
  19006.     1, 2, 3, 4, 5, 6, 7, 8, 9, 0, *, #, A, B, C, D.
  19007.  
  19008. Commands available for Automatic operation are:
  19009.  
  19010.     CNG_DETECT_ON_COMMAND
  19011.     DTMF_DIAL_COMMAND
  19012.     DTMF_DETECT_STATUS
  19013.     RETURN_TO_DATA_COMMAND
  19014.     RETURN_TO_COMMAND
  19015.  
  19016. Commands available for manual operation include:
  19017.  
  19018.     DTMF_DETECT_ON_COMMAND
  19019.     EOD
  19020.     DTMF_DETECT_STATUS
  19021.  
  19022. The following is an example of automatic DTMF detect:
  19023.  
  19024.     (Connecting Call)
  19025.         .
  19026.         .
  19027.         .
  19028.     Wait for Response
  19029.         SILENCE_DETECT_STATUS
  19030.     Check Status
  19031.         VOICE_MODE
  19032.         .
  19033.         .
  19034.         .
  19035.     Wait for Response
  19036.         DTMF_DETECT_STATUS
  19037.     Retrieve Byte Code from Data_Area
  19038.     Send PC_ACK
  19039.         .
  19040.         .
  19041.         .
  19042.     (Continuing in DTMF/Voice Mode)
  19043.  
  19044. The following is an example of manual DTMF detect:
  19045.  
  19046.     Send GET_DTMF_COMMAND
  19047.     Wait for Response
  19048.         BOARD_ACK_STATUS
  19049.     Wait for Response
  19050.         DTMF_DETECT_STATUS
  19051.     Retrieve Byte Data from Data_Area
  19052.     Send PC_ACK
  19053.         .
  19054.         .
  19055.         .
  19056.     (When Finished)
  19057.     Send EOD_FLAG
  19058.     Wait for Response
  19059.         BOARD_ACK_COMMAND
  19060.     Send PC_ACK
  19061.  
  19062.  
  19063. **************************************************************************
  19064. Voice Mode
  19065. Voice mode can be entered when you are connected or disconnected to the 
  19066. phone line. When connected, voice recording is provided from the telephone 
  19067. line to either Fax A or Fax B. In the disconnected mode, input is provided by a 
  19068. microphone on Fax A only. 
  19069.  
  19070. In automatic voice mode, DTMF and voice are enabled. During Phase A of the 
  19071. call, the Voice mode is entered after a user definable period of silence. After 
  19072. the period of silence, the Host is notified of the "silent period" 
  19073. (SILENCE_DETECTED status) and starts to execute options similar in 
  19074. functionality to the Class 2 voice commands. 
  19075.  
  19076. The options in Automatic mode are:
  19077.  
  19078. Command                Description
  19079. ----------------------------------------------------------------------------------
  19080. CNG_DETECT_ON_COMMAND    Enables voice mode and CNG detect
  19081. CNG_DETECT_OFF_COMMAND    (default)
  19082. SET_ACTIVITY_TIMER        Sets the time to wait for CNG tone
  19083. GAIN_UP                Increases the gain increment by 1 dB
  19084. GAIN_DOWN                Decrements gain increment by 1 dB
  19085. SET_GAIN                Sets the gain increment
  19086. SET_SLEW_RATE            Sets the "fall-off rate" for voice signal
  19087. RETURN_TO_COMMAND        Returns to command state from voice mode
  19088. RECORD_START            Starts recording voice
  19089. RECORD_STOP            Stops recording voice
  19090. PLAY_START            Starts voice play back
  19091. PLAY_END                Ends voice playback
  19092. DIAL_DTMF_COMMAND        Transmits DTMF tones
  19093.  
  19094. Manual voice mode requires the host to issue the SETUP_VOICE_COMMAND from 
  19095. command state. Once the command is received by the FAX, the JT Fax 14400B 
  19096. Dual enters the VOICE/DTMF mode and all commands available for Automatic 
  19097. mode are applicable except the RETURN_TO_DATA_COMMAND.
  19098.  
  19099. During the actual playing and recording of a message, the DTMF detection is 
  19100. not available. This is due to the half-duplex nature of the 144EFX chip and 
  19101. different modes required for DTMF DETECT and VOICE mode. However, after the 
  19102. message is sent DTMF detection may occur.
  19103.  
  19104. Voice data format during record and playback is in a raw binary 8-bit 
  19105. resolution format.
  19106.  
  19107. The following PDL example is for automatic voice playback:
  19108.  
  19109.     (Initiate Call)
  19110.         .
  19111.         .
  19112.         .
  19113.     Wait for Response
  19114.         SILENCE_DETECT_STATUS
  19115.     Send PC_ACK
  19116.     Write Voice Data in Data_Area
  19117.     Send Play Start
  19118.     Wait for Response
  19119.         LOAD_DATA_COMMAND
  19120.         .
  19121.         .
  19122.         .
  19123.     (Finish Data)
  19124.         SEND_EOV_FLAG
  19125.     Wait for Response
  19126.         BOARD_ACK_COMMAND
  19127.     Send PC_ACK
  19128.         .
  19129.         .
  19130.         .
  19131.     (Continue with Voice/DTMF loop)
  19132.  
  19133. Voice playback is completed.
  19134.  
  19135. The following example is for manual record off-line.
  19136.  
  19137. Step 1:    Attach the microphone to the Fax A microphone jack.
  19138.  
  19139. Step 2:    Start the voice recording process:
  19140.  
  19141.         Send REC_START_COMMAND
  19142.         Wait for Response
  19143.             BOARD_ACK_STATUS
  19144.         Wait for Response
  19145.             LOAD_DATA_COMMAND
  19146.         Retrieve voice data from Data_Area
  19147.         Send PC_ACK
  19148.             .
  19149.             .
  19150.             .
  19151.         Wait for Response
  19152.             EOVFLAG
  19153.         Send PC_ACK
  19154.  
  19155. This completes the voice recording. 
  19156.  
  19157. To use Manual Voice Recording, use the previous procedure, but replace the 
  19158. REC_START_COMMAND with the MANUAL_REC_COMMAND.
  19159.  
  19160.  
  19161. ==========================================================================
  19162. Chapter 5
  19163. Command Reference
  19164.  
  19165.  
  19166. This Chapter includes detailed descriptions of the JT Fax command set. The 
  19167. point of reference is from the HOST side for all commands. The command 
  19168. descriptions are in the following format:
  19169.  
  19170. Characteristic        Description
  19171. COMMAND:             Specific function or status mnemonic
  19172. CODE:                 Hex code 
  19173. CATEGORY:            Fax, Status, Configuration, Utility, Voice
  19174. DIRECTION:            Host to JT Fax or JT Fax to Host
  19175. INPUT to JT:            Location in API block. Direction: JT Fax
  19176. OUTPUT from JT:        Location in API block. Direction: Host
  19177. DEFAULT:            Default for status commands
  19178. DESCRIPTION:        Detailed description of command
  19179.  
  19180. EXAMPLE:            A flow language example
  19181.  
  19182. RELATED FUNCTIONS:     Any other functions that might be of use
  19183.  
  19184. The commands are presented in alphabetical order.
  19185.  
  19186. Note: A PC_ACK is required after a BOARD_ACK status unless otherwise specified 
  19187. by the specific command feature.
  19188.  
  19189. **************************************************************************
  19190. BAD_RAM
  19191. Characteristic        Description
  19192. COMMAND:             BAD_RAM
  19193. CODE:                 0F1H
  19194. CATEGORY:            Fax - Compatibility 
  19195. DIRECTION:            JT Fax to Host
  19196. INPUT to JT:            None
  19197. OUTPUT from JT:        None
  19198. DEFAULT:            Not applicable
  19199.  
  19200. DESCRIPTION:        BAD_RAM is issued after the RAM test was 
  19201. performed. BAD_RAM is an indication of a faulty random access memory chip. 
  19202. It is not recommended that FAX operation proceed. Call Hayes Customer Service.
  19203.  
  19204. EXAMPLE:            BOARD_SYNC_COMMAND        - Host
  19205.                 BAD_RAM                - FAX
  19206.                 PC_ACK                - Host
  19207.                 IDLE                    - FAX
  19208.  
  19209. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  19210.                 HARDWARE_RESET_COMMAND
  19211.  
  19212.  
  19213. *****************************************************************************
  19214. BAD_ROM
  19215. Characteristic        Description
  19216. COMMAND:             BAD_ROM
  19217. CODE:                 0F2H
  19218. CATEGORY:            Fax - Compatibility 
  19219. DIRECTION:            JT Fax to Host
  19220. INPUT to JT:            None
  19221. OUTPUT from JT:        None
  19222. DEFAULT:            Not applicable
  19223.  
  19224. DESCRIPTION:    BAD_ROM is issued after the ROM test was performed. 
  19225. BAD_ROM is an indication of faulty read only memory chip. It is not 
  19226. recommended that FAX operation proceed. Call Hayes Customer Service.
  19227.  
  19228. EXAMPLE:            BOARD_SYNC_COMMAND        - Host
  19229.                 BAD_ROM                - FAX
  19230.                 PC_ACK                 - Host
  19231.                 IDLE                    - FAX
  19232.  
  19233. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  19234.                 HARDWARE_RESET_COMMAND
  19235.  
  19236.  
  19237. **************************************************************************
  19238. Board_ACK_Status
  19239. Characteristic        Description
  19240. COMMAND:             Board_ACK_Status
  19241. CODE:                 02H
  19242. CATEGORY:            Status 
  19243. DIRECTION:            JT Fax to Host
  19244. INPUT to JT:            None
  19245. OUTPUT from JT:        None
  19246. DEFAULT:            Not applicable
  19247.  
  19248. DESCRIPTION:        This API is part of the handshake protocol with the 
  19249. Host. The JT Fax board returns a BOARD_ACK_STATUS acknowledging the 
  19250. receipt or completion of a command. Some commands have additional 
  19251. handshake sequences and are detailed under the specific command.
  19252.  
  19253. EXAMPLE:            REC_PCX_ON_COMMAND         - Host
  19254.                 BOARD_ACK_STATUS         - JT Fax
  19255.                 (continue if necessary)
  19256.                     .
  19257.                     .
  19258.                     .
  19259.  
  19260. RELATED FUNCTIONS:     PC_ACK
  19261.  
  19262.  
  19263. **************************************************************************
  19264. Board_Sync_Command
  19265. Characteristic        Description
  19266. COMMAND:             Board_Sync_Command
  19267. CODE:                 0FFH
  19268. CATEGORY:            FAX - Compatibility 
  19269. DIRECTION:            Host to JT Fax
  19270. INPUT to JT:            None
  19271. OUTPUT from JT:        GOOD_INIT
  19272.                 IDLE
  19273. DEFAULT:            Not applicable
  19274.  
  19275. DESCRIPTION:    The BOARD_SYNC_COMMAND initiates command state for 
  19276. the Fax after a power up or HARDWARE_RESET_COMMAND. No commands are 
  19277. accepted by the Fax until this command is issued. After the command is issued, 
  19278. BOARD_STATUS is updated in the API block. A GOOD_INIT is issued when the Fax 
  19279. is ready for commands. If a GOOD_INIT is not received , then the Host may need 
  19280. to issue another HARDWARE_RESET_COMMAND.
  19281.  
  19282. EXAMPLE:            BOARD_SYNC_COMMAND         - Host
  19283.                 GOOD_INIT                 - FAX
  19284.                 PC_ACK                 - Host
  19285.                 IDLE                     - FAX
  19286.  
  19287. RELATED FUNCTIONS:     GOOD_INIT,
  19288.                 HARDWARE_RESET_COMMAND
  19289.  
  19290.  
  19291. **************************************************************************
  19292. Busy_Command
  19293. Characteristic        Description
  19294. COMMAND:             Busy_Command
  19295. CODE:                 02FH
  19296. CATEGORY:            Configuration 
  19297. DIRECTION:            Host to JT Fax
  19298. INPUT to JT:            None
  19299. OUTPUT from JT:        BOARD_ACK_STATUS
  19300. DEFAULT:            Detect Busy
  19301.  
  19302. DESCRIPTION:        The BUSY_COMMAND instructs the JT Fax to 
  19303. recognize a busy signal.
  19304.  
  19305. EXAMPLE:            IDLE                    - FAX
  19306.                 BUSY_COMMAND             - Host
  19307.                 BOARD_ACK_STATUS        - FAX
  19308.                 PC_ACK                - Host
  19309.                 IDLE_STATUS            - Fax
  19310.  
  19311. RELATED FUNCTIONS:     XMIT_COMMAND, 
  19312.                 PULSE_DIAL_COMMAND,
  19313.                 DTMF_DIAL_COMMAND
  19314.  
  19315.  
  19316. **************************************************************************
  19317. CED_Off_Command
  19318. Characteristic        Description
  19319. COMMAND:             CED_Off_Command
  19320. CODE:                 037H
  19321. CATEGORY:            Utility
  19322. DIRECTION:            Host to JT Fax
  19323. INPUT to JT:            None
  19324. OUTPUT from JT:        BOARD_ACK_STATUS
  19325. DEFAULT:            Not applicable
  19326. DESCRIPTION:        The CED_OFF_COMMAND terminates the output of an 
  19327. ITU-T T.4 specified 2100 Hz tone. 
  19328.  
  19329. EXAMPLE:            CED_OFF_COMMAND        - Host
  19330.                 BOARD_ACK_STATUS        - FAX
  19331.                 PC_ACK                - Host
  19332.                 IDLE                    - FAX
  19333.  
  19334. RELATED FUNCTIONS:     CED_ON_COMMAND
  19335.  
  19336.  
  19337. *****************************************************************************
  19338. CED_On_Command
  19339. Characteristic        Description
  19340. COMMAND:             CED_On_Command
  19341. CODE:                 036H
  19342. CATEGORY:            Utility
  19343. DIRECTION:            Host to JT Fax
  19344. INPUT to JT:            None
  19345. OUTPUT from JT:        BOARD_ACK_STATUS
  19346. DEFAULT:            Not applicable
  19347. DESCRIPTION:        The CED_ON_COMMAND outputs an ITU-T T.4 specified 
  19348. 2100 Hz tone.
  19349.  
  19350. EXAMPLE:            CED_ON_COMMAND            - Host
  19351.                 BOARD_ACK_STATUS        - FAX
  19352.                 PC_ACK                - Host
  19353.                 IDLE                    - FAX
  19354.  
  19355. RELATED FUNCTIONS:     CED_OFF_COMMAND
  19356.  
  19357.  
  19358.  
  19359. **************************************************************************
  19360. CNG_Detect_Off_Command
  19361. Characteristic        Description
  19362. COMMAND:             CNG_Detect_Off_Command
  19363. CODE:                 061H
  19364. CATEGORY:            Voice - Configuration
  19365. DIRECTION:            Host to JT Fax
  19366. INPUT to JT:            None
  19367. OUTPUT from JT:        BOARD_ACK_STATUS
  19368. DEFAULT:            Off
  19369.  
  19370. DESCRIPTION:        The CNG_DETECT_OFF_COMMAND must be issued from 
  19371. command state. The command disables the voice and DTMF modes when 
  19372. answering a call. After answering a call, the Fax will not determine if the 
  19373. caller is a voice call or Fax call by detecting a CNG tone. The answer back tone 
  19374. is transmitted. 
  19375.  
  19376. EXAMPLE:            IDLE                    - FAX
  19377.                 CNG_DETECT_OFF_COMMAND     - Host
  19378.                 BOARD_ACK_STATUS        - FAX
  19379.                 PC_ACK                - Host
  19380.                 IDLE                    - FAX
  19381.  
  19382. RELATED FUNCTIONS:     "Voice and DTMF", 
  19383.                 CNG_DETECT_ON_COMMAND, 
  19384.                 ERRFLAG, NO_CNG_DETECT_ERROR
  19385.  
  19386.  
  19387. **************************************************************************
  19388. CNG_Detect_On_Command
  19389. Characteristic        Description
  19390. COMMAND:             CNG_Detect_On_Command
  19391. CODE:                 060H
  19392. CATEGORY:            Voice - Configuration
  19393. DIRECTION:            Host to JT Fax
  19394. INPUT to JT:            None
  19395. OUTPUT from JT:        BOARD_ACK_STATUS
  19396. DEFAULT:            Off
  19397.  
  19398. DESCRIPTION:        The CNG_DETECT_ON_COMMAND must be issued from 
  19399. command state. The command enables the voice and DTMF modes when 
  19400. answering a call. After answering a call, the Fax will not determine if the 
  19401. caller is a voice call or Fax call by detecting a CNG tone. The answer back tone 
  19402. is transmitted. 
  19403.  
  19404. EXAMPLE:            IDLE                    - FAX
  19405.                 CNG_DETECT_ON_COMMAND     - Host
  19406.                 BOARD_ACK_STATUS        - FAX
  19407.                 PC_ACK                - Host
  19408.                 IDLE                    - FAX
  19409.  
  19410. RELATED FUNCTIONS:     "Voice and DTMF", 
  19411.                 CNG_DETECT_ON_COMMAND, ERRFLAG, 
  19412.                 NO_CNG_DETECT_ERROR
  19413.  
  19414.  
  19415. **************************************************************************
  19416. CNG_Off_Command
  19417. Characteristic        Description
  19418. COMMAND:             CNG_Off_Command
  19419. CODE:                 035H
  19420. CATEGORY:            Utility
  19421. DIRECTION:            Host to JT Fax
  19422. INPUT to JT:            None
  19423. OUTPUT from JT:        BOARD_ACK_STATUS
  19424. DEFAULT:            Not applicable
  19425. DESCRIPTION:        The CNG_OFF_COMMAND terminates the output of an 
  19426. ITU-T T.4 specified 1100 Hz tone.
  19427.  
  19428. EXAMPLE:            CNG_ON_COMMAND            - Host
  19429.                 BOARD_ACK_STATUS        - FAX
  19430.                 PC_ACK                - Host
  19431.                 IDLE                    - FAX
  19432.  
  19433. RELATED FUNCTIONS:     CNG_OFF_COMMAND
  19434.  
  19435.  
  19436. **************************************************************************
  19437. CNG_On_Command
  19438. Characteristic        Description
  19439. COMMAND:             CNG_On_Command
  19440. CODE:                 034H
  19441. CATEGORY:            Utility
  19442. DIRECTION:            Host to JT Fax
  19443. INPUT to JT:            None
  19444. OUTPUT from JT:        BOARD_ACK_STATUS
  19445. DEFAULT:            Not applicable
  19446.  
  19447. DESCRIPTION:        The CNG_ON_COMMAND outputs an ITU-T T.4 specified 
  19448. 1100 Hz tone.
  19449.  
  19450. EXAMPLE:            CNG_ON_COMMAND            - Host
  19451.                 BOARD_ACK_STATUS        - FAX
  19452.                 PC_ACK                - Host
  19453.                 IDLE                    - FAX
  19454.  
  19455. RELATED FUNCTIONS:     CNG_OFF_COMMAND
  19456.  
  19457.  
  19458. **************************************************************************
  19459. DTMF_Detect_Off_Command
  19460. Characteristic        Description
  19461. COMMAND:             DTMF_Detect_Off_Command
  19462. CODE:                 074H
  19463. CATEGORY:            Voice - Configuration
  19464. DIRECTION:            Host to JT Fax
  19465. INPUT to JT:            None
  19466. OUTPUT from JT:        BOARD_ACK_COMMAND
  19467. DEFAULT:            Not applicable
  19468.  
  19469. DESCRIPTION:        The DTMF_DETECT_OFF_COMMAND disables the Fax 
  19470. capability to detect DTMF tones while in the Voice/DTMF mode. 
  19471.  
  19472. EXAMPLE:            IDLE                    - FAX
  19473.                 DTMF_DETECT_OFF_COMMAND    - Host
  19474.                 BOARD_ACK_COMMAND        - FAX
  19475.                 PC_ACK                - Host
  19476.                 IDLE                    - FAX
  19477.  
  19478. RELATED FUNCTIONS:     "Voice and DTMF", 
  19479.                 CNG_DETECT_ON_COMMAND
  19480.  
  19481.  
  19482. **************************************************************************
  19483. DTMF_Detect_On_Command
  19484. Characteristic        Description
  19485. COMMAND:             DTMF_Detect_On_Command
  19486. CODE:                 073H
  19487. CATEGORY:            Voice - Configuration
  19488. DIRECTION:            Host to JT Fax
  19489. INPUT to JT:            None
  19490. OUTPUT from JT:        BOARD_ACK_COMMAND
  19491. DEFAULT:            Not applicable
  19492.  
  19493. DESCRIPTION:        The DTMF_DETECT_ON_COMMAND enables the Fax 
  19494. capability to detect DTMF tones while in the Voice/DTMF mode. 
  19495.  
  19496. EXAMPLE:            IDLE                    - FAX
  19497.                 DTMF_DETECT_ON_COMMAND    - Host
  19498.                 BOARD_ACK_COMMAND        - FAX
  19499.                 PC_ACK                - Host
  19500.                 IDLE                    - FAX
  19501.  
  19502. RELATED FUNCTIONS:     "Voice and DTMF", 
  19503.                 CNG_DETECT_ON_COMMAND
  19504.  
  19505.  
  19506. **************************************************************************
  19507. DTMF_Detect_Status
  19508. Characteristic        Description
  19509. COMMAND:             DTMF_Detect_Status
  19510. CODE:                 070H
  19511. CATEGORY:            Voice , Status
  19512. DIRECTION:            JT Fax to Host
  19513. INPUT to JT:            PC_ACK
  19514. OUTPUT from JT:        DTMF digit in DATA_AREA
  19515. DEFAULT:            Not applicable
  19516.  
  19517. DESCRIPTION:        The DTMF_DETECT_STATUS informs the Host that a 
  19518. DTMF tone was detected while in VOICE/DTMF mode. The DTMF_DETECT_STATUS 
  19519. command is only issued after a DTMF_DETECT_ON_COMMAND.
  19520.  
  19521. EXAMPLE:            DTMF_DETECT_ON_COMMAND    - Host
  19522.                     .
  19523.                     .
  19524.                     .
  19525.                 SILENCE_DETECTED_STATUS    - FAX
  19526.                 PC_ACK                - Host
  19527.                 ...load DTMF byte in DATA_AREA    - FAX
  19528.                 DTMF_DETECT_STATUS        - FAX
  19529.                 ...retrieve DTMF byte        - Host
  19530.                 PC_ACK                - Host
  19531.                 IDLE                     - FAX
  19532.  
  19533. RELATED FUNCTIONS:     "Voice and DTMF", 
  19534.                 DTMF_DETECT_ON_COMMAND, 
  19535.                 DTMF_DETECT_OFF_COMMAND
  19536.  
  19537.  
  19538. **************************************************************************
  19539. DTMF_Dial_Command
  19540. Characteristic    Description
  19541. COMMAND:         DTMF_Dial_Command
  19542. CODE:             02CH
  19543. CATEGORY:        Utility 
  19544. DIRECTION:        Host to JT Fax
  19545. INPUT to JT:        DTMF number at OFFSET 00H in buffer_area
  19546.             Max. number length 60 characters
  19547. OUTPUT from JT:    BOARD_ACK_STATUS
  19548. DEFAULT:        Not applicable
  19549.  
  19550. DESCRIPTION:    DTMF_DIAL_COMMAND dials the digits stored at 
  19551. BUFFER_AREA. The dial command does not connect the phone line. The line 
  19552. must be connected with an OFF_HOOK_COMMAND.
  19553.  
  19554. The dial string has several digits and modifiers. The DTMF digits supported are 
  19555. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *, #, A, B, C, D. The dial modifiers are:
  19556.  
  19557. JT Fax 9600B COMPATIBILITY
  19558. First byte: 'P' - Pulse Dial    'T' - Tone Dial 
  19559. Second byte: 'W' - Wait for Dial Tone     ' ' - Do not Wait 
  19560.  
  19561. If the first two bytes are 'MA' (Manual Dial) a number will not be dialed.
  19562.  
  19563. JT Fax 14400B
  19564. --------------------------
  19565. P    - pulse dial
  19566. T    - tone dial
  19567. W    - wait for dialtone
  19568. ,    - 2 second pause
  19569. !    - flash hook
  19570. I    - no busy detect
  19571.  
  19572. Note: This command may be used in Voice offline mode.
  19573.  
  19574. EXAMPLE:            IDLE                    - FAX
  19575.                 (load string value in 
  19576.                   buffer_area)            - Host
  19577.                 DIAL_DTMF_COMMAND         - Host
  19578.                 BOARD_ACK_STATUS        - FAX
  19579.                 PC_ACK                - Host
  19580.                 IDLE_STATUS            - Fax
  19581.  
  19582. RELATED FUNCTIONS:     XMIT_COMMAND, 
  19583.                 DTMF_ON_TIME_COMMAND, 
  19584.                 DTMF_OFF_TIME_COMMAND
  19585.  
  19586.  
  19587. **************************************************************************
  19588. DTMF_Off_Command
  19589. Characteristic        Description
  19590. COMMAND:             DTMF_Off_Command
  19591. CODE:                 029H
  19592. CATEGORY:            Utility
  19593. DIRECTION:            Host to JT Fax
  19594. INPUT to JT:            None
  19595. OUTPUT from JT:        BOARD_ACK_STATUS
  19596. DEFAULT:            Not applicable
  19597.  
  19598. DESCRIPTION:        DTMF_OFF_COMMAND commands the JT Fax to 
  19599. terminate a DTMF tone. The command does not disconnect the line.
  19600.  
  19601. EXAMPLE:            IDLE                    - FAX
  19602.                 DTMF_OFF_COMMAND         - Host
  19603.                 BOARD_ACK_STATUS        - FAX
  19604.                 PC_ACK                - Host
  19605.                 IDLE_STATUS            - Fax
  19606.  
  19607. RELATED FUNCTIONS:     DTMF_ON_COMMAND, 
  19608.                 FAX_MODE_COMMAND, 
  19609.                 ON_HOOK_COMMAND
  19610.  
  19611.  
  19612. **************************************************************************
  19613. DTMF_Off_Time_Command
  19614. Characteristic        Description
  19615. COMMAND:             DTMF_Off_Time_Command
  19616. CODE:                 02BH
  19617. CATEGORY:            Configuration
  19618. DIRECTION:            Host to JT Fax
  19619. INPUT to JT:            DTMF time at OFFSET 00H in buffer area
  19620. OUTPUT from JT:        BOARD_ACK_STATUS
  19621. DEFAULT:            70 ms
  19622.  
  19623. DESCRIPTION:        DTMF_OFF_TIME_COMMAND configures the interdigit 
  19624. off time for automatic dialing of DTMF digits. The value specified is in 
  19625. milliseconds with a length of WORD. Max. value is 65 seconds. Standard 
  19626. minimum value is 65 ms. 
  19627.  
  19628. EXAMPLE:            IDLE                    - FAX
  19629.                 (load word value in 
  19630.                   buffer_area)            - Host
  19631.                 DTMF_OFF_TIME_COMMAND -    - Host
  19632.                 BOARD_ACK_STATUS        - FAX
  19633.                 PC_ACK                - Host
  19634.                 IDLE_STATUS            - Fax
  19635.  
  19636. RELATED FUNCTIONS:     XMIT_COMMAND, 
  19637.                 DTMF_DIAL_COMMAND, 
  19638.                 DTMF_ON_TIME_COMMAND
  19639.  
  19640.  
  19641. **************************************************************************
  19642. DTMF_On_Command
  19643. Characteristic        Description
  19644. COMMAND:             DTMF_On_Command
  19645. CODE:                 028H
  19646. CATEGORY:            Utility
  19647. DIRECTION:            Host to JT Fax
  19648. INPUT to JT:            DTMF tone digit at OFFSET 00H in buffer area
  19649. OUTPUT from JT:        BOARD_ACK_STATUS
  19650. DEFAULT:            Not applicable
  19651.  
  19652. DESCRIPTION:        DTMF_ON_COMMAND commands the JT Fax to send a 
  19653. DTMF digit specified by the value in BUFFER_AREA. The duration of the tone is 
  19654. controlled by the Host. The command does not connect the phone line. The tone 
  19655. is terminated by the DTMF_OFF_COMAMND.
  19656.  
  19657. Note: JT Fax must be in Fax mode for Utility commands.
  19658.  
  19659. EXAMPLE:            IDLE                    - FAX
  19660.                 (load digit in buffer area)    - Host
  19661.                 DTMF_ON_COMMAND         - Host
  19662.                 BOARD_ACK_STATUS        - FAX
  19663.                 PC_ACK                - Host
  19664.                 IDLE_STATUS            - Fax
  19665.  
  19666. RELATED FUNCTIONS:     DTMF_OFF_COMMAND,
  19667.                 FAX_MODE_COMMAND, 
  19668.                 OFF_HOOK_COMMAND
  19669.  
  19670.  
  19671. **************************************************************************
  19672. DTMF_On_Time_Command
  19673. Characteristic        Description
  19674. COMMAND:             DTMF_On_Time_Command
  19675. CODE:                 029H
  19676. CATEGORY:            Configuration
  19677. DIRECTION:            Host to JT Fax
  19678. INPUT to JT:            DTMF time at OFFSET 00H in buffer area
  19679. OUTPUT from JT:        BOARD_ACK_STATUS
  19680. DEFAULT:            70 ms
  19681.  
  19682. DESCRIPTION:        DTMF_ON_TIME_COMMAND sets the on-time for 
  19683. automatic dialing of DTMF digits. The value specified is in milliseconds with a 
  19684. length of WORD. Max. value is 65 seconds. The standard minimum value is 65 
  19685. ms. 
  19686.  
  19687. EXAMPLE:            IDLE                    - FAX
  19688.                 (load word value in buffer_area)- Host
  19689.                 DTMF_ON_TIME_COMMAND     - Host
  19690.                 BOARD_ACK_STATUS        - FAX
  19691.                 PC_ACK                - Host
  19692.                 IDLE_STATUS            - Fax
  19693.  
  19694. RELATED FUNCTIONS:     XMIT_COMMAND, 
  19695.                 DTMF_DIAL_COMMAND, 
  19696.                 DTMF_OFF_TIME_COMMAND
  19697.  
  19698.  
  19699. **************************************************************************
  19700. Enhanced_Mode_Off_Command
  19701. Characteristic        Description
  19702. COMMAND:             Enhanced_Mode_Off_Command
  19703. CODE:                 053H
  19704. CATEGORY:            Configuration - Compatibility
  19705. DIRECTION:            Host to JT Fax
  19706. INPUT to JT:            None
  19707. OUTPUT from JT:        BOARD_ACK
  19708. DEFAULT:            Not applicable
  19709.  
  19710. DESCRIPTION:        The ENHANCED_MODE_OFF_COMMAND allows the JT 
  19711. Fax 14400B to operate in 9600B compatible mode. All status messages, error 
  19712. codes and speeds provided by the 14400B are disabled.
  19713.  
  19714. EXAMPLE:            IDLE                    - FAX
  19715.                 ENHANCED_MODE_OFF_COMMAND - Host
  19716.                 BOARD_ACK_STATUS        - FAX
  19717.                 PC_ACK                - Host
  19718.                 IDLE                    - FAX
  19719.  
  19720. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND, 
  19721.                 FAX_144_MODE_OFF_COMMAND, 
  19722.                 ENHANCED_MODE_ON_COMMAND
  19723.  
  19724.  
  19725. **************************************************************************
  19726. Enhanced_Mode_On_Command
  19727. Characteristic        Description
  19728. COMMAND:             Enhanced_Mode_On_Command
  19729. CODE:                 052H
  19730. CATEGORY:            Configuration - Compatibility
  19731. DIRECTION:            Host to JT Fax
  19732. INPUT to JT:            None
  19733. OUTPUT from JT:        BOARD_ACK
  19734. DEFAULT:            Not applicable
  19735.  
  19736. DESCRIPTION:        The ENHANCED_MODE_ON_COMMAND allows the JT 
  19737. Fax 14400B to operate in enhanced mode. All status messages, error codes and 
  19738. speeds provided by the 14400B are enabled.
  19739.  
  19740. EXAMPLE:            IDLE                    - FAX
  19741.                 ENHANCED_MODE_ON_COMMAND    - Host
  19742.                 BOARD_ACK_STATUS        - FAX
  19743.                 PC_ACK                - Host
  19744.                 IDLE                    - FAX
  19745.  
  19746. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND, 
  19747.                 FAX_144_MODE_ON_COMMAND, 
  19748.                 ENHANCED_MODE_OFF_COMMAND
  19749.  
  19750.  
  19751. **************************************************************************
  19752. EOD_Flag
  19753. Characteristic        Description
  19754. COMMAND:             EOD_Flag
  19755. CODE:                 076H
  19756. CATEGORY:            Voice 
  19757. DIRECTION:            Host to JT Fax
  19758. INPUT to JT:            None
  19759. OUTPUT from JT:        None
  19760. DEFAULT:            Not applicable
  19761.  
  19762. DESCRIPTION:        The EOD_FLAG terminates the DTMF search. Any 
  19763. other command can be issued after this command sequence is complete.
  19764.  
  19765. EXAMPLE:            IDLE                    - FAX
  19766.                 GET_DTMF_COMMAND        - Host
  19767.                 BOARD_ACK_COMMAND        - FAX
  19768.                 ...byte in data_area            - FAX
  19769.                 DTMF_DETECT_STATUS        - FAX
  19770.                 ...retrieve byte from data_area    - Host
  19771.                 PC_ACK                - Host
  19772.                 ...continue looking  for DTMF    - FAX
  19773.                     .
  19774.                     .
  19775.                     .
  19776.                 EOD_FLAG                - HOST
  19777.                 BOARD_ACK_COMMAND        - FAX
  19778.                 PC_ACK                - Host
  19779.                 IDLE                    - FAX
  19780.  
  19781. RELATED FUNCTIONS:     "Voice and DTMF"
  19782.  
  19783.  
  19784. **************************************************************************
  19785. EOPFLAG
  19786. Characteristic        Description
  19787. COMMAND:             EOPFLAG
  19788. CODE:                 08H
  19789. CATEGORY:            Fax 
  19790. DIRECTION:            JT Fax to Host
  19791. INPUT to JT:            None
  19792. OUTPUT from JT:        None
  19793. DEFAULT:            Not applicable
  19794.  
  19795. DESCRIPTION:    EOPFLAG signifies that an end of page is necessary. The 
  19796. Host may elect to use the LINE_COUNT field in the API block for setting an end 
  19797. of page. The Fax page is transmitted until the line count is reached ( MIN_PAGE 
  19798. = non zero) and an EOP is issued to the called device. If the FAX page was short 
  19799. and a standard page length is used, then the LINECOUNT field sets the page 
  19800. length (MIN_PAGE = 0). All pages are the length of LINECOUNT.
  19801.  
  19802. When using the EOPFLAG a PC_ACK command is not necessary.
  19803.  
  19804. EXAMPLE:            LOAD_DATA_COMMAND        - FAX
  19805.                 ...load data                 - Host
  19806.                 PC_ACK                 - Host
  19807.                 LOAD_DATA_COMMAND        - FAX
  19808.                 ...load data                 - Host
  19809.                 PC_ACK                 - Host
  19810.                      .
  19811.                      .
  19812.                      .
  19813.                 LOAD_DATA_COMMAND        - FAX
  19814.                 ...load data                 - Host
  19815.                 EOPFLAG                - Host
  19816.                 LOAD_DATA_COMMAND        - FAX
  19817.                      .
  19818.                      .
  19819.                      .
  19820.  
  19821. RELATED FUNCTIONS:     LOAD_DATA_COMMAND, 
  19822.                 EOTFLAG
  19823.  
  19824.  
  19825. **************************************************************************
  19826. EOTFLAG
  19827. Characteristic        Description
  19828. COMMAND:             EOTFLAG
  19829. CODE:                 0FH
  19830. CATEGORY:            Fax 
  19831. DIRECTION:            JT Fax to Host
  19832. Host to JT Fax
  19833. INPUT to JT:            None
  19834. OUTPUT from JT:        None
  19835. DEFAULT:            Not applicable
  19836.  
  19837. DESCRIPTION:        EOTFLAG signifies an end of data transfer. The Fax 
  19838. command can be issued from either the Host or JT Fax. The Host issues the 
  19839. command in the XMIT_MODE to end data transmission, or in downloadable fonts 
  19840. to end the font download. The JT Fax issues the command to end a Fax reception.
  19841.  
  19842. EXAMPLE:            IDLE                    - FAX
  19843.                 (load phone number 
  19844.                 in buffer area)             - Host
  19845.                 XMIT_COMMAND             - Host
  19846.                 BOARD_ACK_STATUS        - FAX
  19847.                 ...load header            - Host
  19848.                 PC_ACK                 - Host
  19849.                 LOAD_DATA_COMMAND        - FAX
  19850.                 ...load data and set format        - Host
  19851.                 ...set number bytes            - Host
  19852.                 PC_ACK                 - Host
  19853.                 LOAD_DATA_COMMAND        - FAX
  19854.                 ...load data                 - Host
  19855.                 EOTFLAG                 - Host
  19856.                      .
  19857.                      .
  19858.                      .
  19859.                 IDLE                     - FAX
  19860.  
  19861. RELATED FUNCTIONS:     XMIT_COMMAND, 
  19862.                 LOAD_DATA_COMMAND, 
  19863.                 RECVINIT, 
  19864.                 LOADFONT_COMMAND, 
  19865.                 "Error Codes╙, 
  19866.                 EOV_FLAG
  19867.  
  19868.  
  19869. **************************************************************************
  19870. EOV_FLAG
  19871. Characteristic        Description
  19872. COMMAND:             EOV_FLAG
  19873. CODE:                 066H
  19874. CATEGORY:            Voice
  19875. DIRECTION:            Host to JT Fax
  19876. INPUT to JT:            None
  19877. OUTPUT from JT:        Recorded data in DATA_AREA
  19878.                 LOAD_DATA_COMMAND
  19879. DEFAULT:            Not applicable
  19880.  
  19881. DESCRIPTION:    The EOV_FLAG notifies the Host/Fax that the last buffer of 
  19882. data is in the DATA_AREA. This command is issued after a 
  19883. PLAY_START_COMMAND sequence. The command is used for voice data only. 
  19884.  
  19885. EXAMPLE:            REC_START_COMMAND        - Host
  19886.                 BOARD_ACK_COMMAND        - FAX
  19887.                 ...load data in DATA_AREA        - FAX
  19888.                 ...set number bytes            - FAX
  19889.                 LOAD_DATA_COMMAND        - FAX
  19890.                 ...load data from DATA_AREA    - Host
  19891.                 PC_ACK                - Host
  19892.                 ...load data in DATA_AREA        - FAX
  19893.                 ...set number bytes            - FAX
  19894.                 LOAD_DATA_COMMAND        - FAX
  19895.                 ...load data from DATA_AREA    - Host
  19896.                 REC_STOP_COMMAND        - Host
  19897.                 ...load data in DATA_AREA        - FAX
  19898.                 ...set number bytes            - FAX
  19899.                 EOV_FLAG                 - FAX
  19900.                 ...load data from  DATA_AREA    - Host
  19901.                 PC_ACK                - Host
  19902.                 IDLE                     - FAX
  19903.  
  19904. RELATED FUNCTIONS:     "Voice and DTMF", 
  19905.                 REC_START_COMMAND, 
  19906.                 RECVINIT_COMMAND
  19907.  
  19908.  
  19909. **************************************************************************
  19910. Error
  19911. Characteristic        Description
  19912. COMMAND:             Error
  19913. CODE:                 06H
  19914. CATEGORY:            Status
  19915. DIRECTION:            JT Fax to Host
  19916. INPUT to JT:            IDLE
  19917. OUTPUT from JT:        RET_CODE contains error code
  19918. DEFAULT:            Not applicable
  19919.  
  19920. DESCRIPTION:        ERROR signifies that an error has occurred. The 
  19921. type of error can be retrieved from the RET_CODE field. ERROR does require the 
  19922. host to reset the COMMAND_DATA field to IDLE when the error code is read.
  19923.  
  19924. EXAMPLE:        IDLE                        - FAX
  19925.             (load phone number in buffer area)    - Host
  19926.             XMIT_COMMAND                 - Host
  19927.             BOARD_ACK_STATUS            - FAX
  19928.             ...load header                - Host
  19929.             PC_ACK                     - Host
  19930.             LOAD_DATA_COMMAND            - FAX
  19931.             ...load data and set format            - Host
  19932.             ...set number bytes                - Host
  19933.             PC_ACK                     - Host
  19934.             LOAD_DATA_COMMAND            - FAX
  19935.             ...load data                     - Host
  19936.             PC_ACK                    - Host
  19937.                 .
  19938.                 .
  19939.                 .
  19940.             ERROR                     - JT Fax
  19941.             BUSY(ret_code field)            - JT Fax
  19942.             (check ret_code)                - Host
  19943.             IDLE                         - Host
  19944.  
  19945. RELATED FUNCTIONS:     XMIT_COMMAND, 
  19946.                 LOAD_DATA_COMMAND, 
  19947.                 RECVINIT,
  19948.                 Error Codes
  19949.  
  19950.  
  19951. **************************************************************************
  19952. Extend_Status_Off_Command
  19953. Characteristic    Description
  19954. COMMAND:         Extend_Status_Off_Command
  19955. CODE:             04FH
  19956. CATEGORY:        Configuration - Compatibility
  19957. DIRECTION:        Host to JT Fax
  19958. INPUT to JT:        None
  19959. OUTPUT from JT:    BOARD_ACK
  19960. DEFAULT:        Not applicable
  19961.  
  19962. DESCRIPTION:    The EXTEND_STATUS_OFF_COMMAND disables the extended 
  19963. status available to the Host with the JT Fax 14400B. The status codes do not 
  19964. appear in the STATUS field of the API block and the status command is not 
  19965. issued.
  19966.  
  19967. EXAMPLE:        IDLE                        - FAX
  19968.             EXTEND_STATUS_OFF_COMMAND        - Host
  19969.             BOARD_ACK_STATUS            - FAX
  19970.             PC_ACK                    - Host
  19971.             IDLE                        - FAX
  19972.  
  19973. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND,
  19974.                 STATUS_COMMAND
  19975.  
  19976.  
  19977. **************************************************************************
  19978. Extend_Status_On_Command
  19979. Characteristic    Description
  19980. COMMAND:         Extend_Status_On_Command
  19981. CODE:             04EH
  19982. CATEGORY:        Configuration - Compatibility
  19983. DIRECTION:        Host to JT Fax
  19984. INPUT to JT:        None
  19985. OUTPUT from JT:    BOARD_ACK
  19986. DEFAULT:        Not applicable
  19987.  
  19988. DESCRIPTION:    The EXTEND_STATUS_ON command enables the 
  19989. extended status available to the Host with the JT Fax 14400B. The status codes 
  19990. appear in the STATUS field of the API block after the status command is issued.
  19991.  
  19992. EXAMPLE:        IDLE                        - FAX
  19993.             EXTEND_STATUS_ON_COMMAND        - Host
  19994.             BOARD_ACK_STATUS            - FAX
  19995.             PC_ACK                    - Host
  19996.             IDLE                        - FAX
  19997.  
  19998. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND,
  19999.                 STATUS_COMMAND
  20000.  
  20001.  
  20002. **************************************************************************
  20003. FAX_144_Mode_Off_Command
  20004. Characteristic    Description
  20005. COMMAND:         FAX_144_Mode_Off_Command
  20006. CODE:             051H
  20007. CATEGORY:        Configuration - Compatibility
  20008. DIRECTION:        Host to JT Fax
  20009. INPUT to JT:        None
  20010. OUTPUT from JT:    BOARD_ACK
  20011. DEFAULT:        Not applicable
  20012.  
  20013. DESCRIPTION:    The FAX_144_MODE_OFF_COMMAND allows the JT Fax 14400B 
  20014. to be compatible with the JT Fax 9600B. This command is included due to the 
  20015. change in the speed indexes for 14,400 bps.
  20016.  
  20017. EXAMPLE:        IDLE                        - FAX
  20018.             FAX_144_MODE_OFF_COMMAND        - Host
  20019.             BOARD_ACK_STATUS            - FAX
  20020.             PC_ACK                    - Host
  20021.             IDLE                        - FAX
  20022.  
  20023. RELATED FUNCTIONS:     EXTEND_STATUS_OFF_COMMAND,
  20024.                 FAX_144_MODE_ON_COMMAND, 
  20025.                 ENHANCED_MODE_OFF_COMMAND
  20026.  
  20027.  
  20028. **************************************************************************
  20029. FAX_144_Mode_On_Command
  20030. Characteristic    Description
  20031. COMMAND:         FAX_144_Mode_On_Command
  20032. CODE:             050H
  20033. CATEGORY:        Configuration - Compatibility
  20034. DIRECTION:        Host to JT Fax
  20035. INPUT to JT:        None
  20036. OUTPUT from JT:    BOARD_ACK
  20037. DEFAULT:        Not applicable
  20038.  
  20039. DESCRIPTION:    The FAX_144_MODE_ON_COMMAND allows the JT Fax 14400B 
  20040. to enable reception of Faxes at the 14,400 bps rate. This command is included 
  20041. due to the change in the speed indexes for 14,400 bps. An index value of 5 in 
  20042. the BAUD_RATE field indicates 14,400 bps and a 4 indicates 12,000 bps. This 
  20043. command only affects the speed.
  20044.  
  20045. EXAMPLE:        IDLE                        - FAX
  20046.             FAX_144_MODE_ON_COMMAND        - Host
  20047.             BOARD_ACK_STATUS            - FAX
  20048.             PC_ACK                    - Host
  20049.             IDLE                        - FAX
  20050.  
  20051. RELATED FUNCTIONS:     EXTEND_STATUS_ON_COMMAND,
  20052.                 FAX_144_MODE_OFF_COMMAND, 
  20053.                 ENHANCED_MODE_ON_COMMAND
  20054.  
  20055.  
  20056. **************************************************************************
  20057. FAX_Mode_Command
  20058. Characteristic    Description
  20059. COMMAND:         FAX_Mode_Command
  20060. CODE:             026H
  20061. CATEGORY:        Configuration
  20062. DIRECTION:        Host to JT Fax
  20063. INPUT to JT:        None
  20064. OUTPUT from JT:    BOARD_ACK_STATUS
  20065. DEFAULT:        MODEM MODE in Command State
  20066.             FAX MODE is automatic with Fax commands
  20067.  
  20068. DESCRIPTION:    The FAX_MODE_COMMAND is required for all Utility 
  20069. commands. The command also allows JT Fax to control the Telco line interface 
  20070. instead of requiring OEM daughter cards. PC Bus access is available in both Fax 
  20071. and Modem mode. If a daughter card is not attached, Modem mode will not be 
  20072. necessary for JT Fax.
  20073.  
  20074. EXAMPLE:            IDLE                    - FAX
  20075.                 FAX_MODE_COMMAND         - Host
  20076.                 BOARD_ACK_STATUS        - FAX
  20077.                 PC_ACK                - Host
  20078.                 IDLE                     - FAX
  20079.                 OFF_HOOK_COMMAND        - Host
  20080.  
  20081. RELATED FUNCTIONS:     MODEM_MODE_COMMAND, 
  20082.                 "Utility Commands"
  20083.  
  20084.  
  20085. **************************************************************************
  20086. Gain_Down_Command
  20087. Characteristic    Description
  20088. COMMAND:         Gain_Down_Command
  20089. CODE:             068H
  20090. CATEGORY:        Voice - Configuration
  20091. DIRECTION:        Host to JT Fax
  20092. INPUT to JT:        None
  20093. OUTPUT from JT:    BOARD_ACK_COMMAND
  20094. DEFAULT:        43.8 dB
  20095.  
  20096. DESCRIPTION:    The GAIN_DOWN_COMMAND decrements the maximum gain 
  20097. of the voice record by 1 dB. The maximum gain should only be changed during 
  20098. recording to achieve a better quality of voice recording. The value is retained 
  20099. between recordings.
  20100.  
  20101. EXAMPLE:        IDLE                        - FAX
  20102.             GAIN_DOWN_COMMAND            - Host
  20103.             BOARD_ACK_COMMAND            - FAX
  20104.             PC_ACK                    - Host
  20105.             IDLE                        - FAX
  20106.             REC_START_COMMAND            - Host
  20107.             BOARD_ACK_COMMAND            - FAX
  20108.             ...load data in DATA_AREA            - FAX
  20109.             ...set number bytes                - FAX
  20110.             LOAD_DATA_COMMAND            - FAX
  20111.                 .
  20112.                 .
  20113.                 .
  20114.             EOV_FLAG                     - FAX
  20115.             ...load data from DATA_AREA        - Host
  20116.             PC_ACK                    - Host
  20117.             IDLE                        - FAX
  20118.  
  20119. RELATED FUNCTIONS:     "Voice and DTMF", 
  20120.                 REC_START_COMMAND
  20121.  
  20122.  
  20123. **************************************************************************
  20124. Gain_Up_Command
  20125. Characteristic    Description
  20126. COMMAND:         Gain_Up_Command
  20127. CODE:             067H
  20128. CATEGORY:        Voice - Configuration
  20129. DIRECTION:        Host to JT Fax
  20130. INPUT to JT:        None
  20131. OUTPUT from JT:    BOARD_ACK_COMMAND
  20132. DEFAULT:        43.8 dB
  20133.  
  20134. DESCRIPTION:    The GAIN_UP_COMMAND increments the maximum gain of 
  20135. the voice record by 1 dB. The maximum gain should only be changed during 
  20136. recording to achieve a better quality of voice recording. The value is retained 
  20137. between recordings.
  20138.  
  20139. EXAMPLE:        IDLE                        - FAX
  20140.             GAIN_UP_COMMAND            - Host
  20141.             BOARD_ACK_COMMAND            - FAX
  20142.             PC_ACK                    - Host
  20143.             IDLE                        - FAX
  20144.             REC_START_COMMAND            - Host
  20145.             BOARD_ACK_COMMAND            - FAX
  20146.             ...load data in DATA_AREA            - FAX
  20147.             ...set number bytes                - FAX
  20148.             LOAD_DATA_COMMAND            - FAX
  20149.                 .
  20150.                 .
  20151.                 .
  20152.             EOV_FLAG                     - FAX
  20153.             ...load data from DATA_AREA        - Host
  20154.             PC_ACK                    - Host
  20155.             IDLE                         - FAX
  20156.  
  20157. RELATED FUNCTIONS:     "Voice and DTMF", 
  20158.                 REC_START_COMMAND
  20159.  
  20160.  
  20161. **************************************************************************
  20162. Get_DTMF_Command
  20163. Characteristic    Description
  20164. COMMAND:         Get_DTMF_Command
  20165. CODE:             075H
  20166. CATEGORY:        Voice 
  20167. DIRECTION:        Host to JT Fax
  20168. INPUT to JT:        None
  20169. OUTPUT from JT:    Byte value in DATA_AREA
  20170. DEFAULT:        Not applicable
  20171. DESCRIPTION:    The GET_DTMF_COMMAND can also be used in command 
  20172. state. The command initiates DTMF mode and continually searches for DTMF 
  20173. tones. The EOD_FLAG terminates the DTMF search. Any other command can be 
  20174. issued after this command. The "on/off hook" is controlled by the Host. 
  20175.  
  20176. EXAMPLE:        IDLE                        - FAX
  20177.             GET_DTMF_COMMAND            - Host
  20178.             BOARD_ACK_STATUS            - FAX
  20179.             ...byte in data_area                - FAX
  20180.             DTMF_DETECT_STATUS            - FAX
  20181.             ...retrieve byte from data_area        - Host
  20182.             PC_ACK                    - Host
  20183.             ...continue looking for DTMF        - FAX
  20184.                 .
  20185.                 .
  20186.                 .
  20187.             EOD_FLAG                    - HOST
  20188.             BOARD_ACK_COMMAND            - FAX
  20189.             PC_ACK                    - Host
  20190.             IDLE                        - FAX
  20191.  
  20192. RELATED FUNCTIONS:     "Voice and DTMF", 
  20193.                 EOD_FLAG
  20194.  
  20195.  
  20196. **************************************************************************
  20197. Good_Init
  20198. Characteristic    Description
  20199. COMMAND:         Good_Init
  20200. CODE:             0F0H
  20201. CATEGORY:        FAX - Compatibility 
  20202. DIRECTION:        JT Fax to Host
  20203. INPUT to JT:        None
  20204. OUTPUT from JT:    None
  20205. DEFAULT:        Not applicable
  20206.  
  20207. DESCRIPTION:    The GOOD_INIT command is issued after a 
  20208. BOARD_SYNC_COMMAND is received following power up. It indicates that the 
  20209. FAX is ready for commands and the ROM/RAM test was good.
  20210.  
  20211. EXAMPLE:        BOARD_SYNC_COMMAND            - Host
  20212.             GOOD_INIT                    - FAX
  20213.             PC_ACK                    - Host
  20214.             IDLE                        - FAX
  20215.  
  20216. RELATED FUNCTIONS:     BOARD_SYNC_COMMAND, 
  20217.                 HARDWARE_RESET_COMMAND
  20218.  
  20219.  
  20220. **************************************************************************
  20221. Hardware_Reset_Command
  20222. Characteristic    Description
  20223. COMMAND:         Hardware_Reset_Command
  20224. CODE:             030H
  20225. CATEGORY:        Control
  20226. DIRECTION:        Host to JT Fax
  20227. INPUT to JT:        None
  20228. OUTPUT from JT:    None
  20229. DEFAULT:        Not applicable
  20230.  
  20231. DESCRIPTION:    The HARDWARE_RESET_COMMAND instructs JT Fax to 
  20232. initiate a "power on reset" function. The command is placed in the API block 
  20233. location, RESET_BOARD, at offset 51H. When RESET_BOARD is set to a 
  20234. HARDWARE_RESET_COMMAND, then the following happens:
  20235.  
  20236.     Ñ    RAM and ROM test is executed
  20237.     Ñ    data pump is reset, memory cleared 
  20238.     Ñ    all options set to default conditions. 
  20239.  
  20240. After six seconds, JT Fax starts waiting for a SYNC_COMMAND from the Host. A 
  20241. SYNC_COMMAND must be issued by the Host before any commands can be 
  20242. accepted. 
  20243.  
  20244. Note: This command should be used a last resort because it resets the JT Fax 
  20245. hardware and all user configurations to default.
  20246.  
  20247. EXAMPLE:        IDLE                        - FAX
  20248.             HARDWARE_RESET_COMMAND        - Host
  20249.             (wait for 6 seconds)
  20250.             SYNC_COMMAND                - Host
  20251.             IDLE_STATUS                - FAX
  20252.  
  20253. RELATED FUNCTIONS:     SYNC_COMMAND, 
  20254.                 SOFTWARE_RESET_COMMAND
  20255.  
  20256.  
  20257. **************************************************************************
  20258. Idle_Status
  20259. Characteristic    Description
  20260. COMMAND:         Idle_Status
  20261. CODE:             01H
  20262. CATEGORY:        Status
  20263. DIRECTION:        JT Fax to Host
  20264.             Host to JT Fax
  20265. INPUT to JT:        None
  20266. OUTPUT from JT:    None
  20267. DEFAULT:        Not applicable
  20268.  
  20269. DESCRIPTION:    IDLE_STATUS is a compatibility status code/command. The 
  20270. command is issued to reset the Command field. The command is used by the Host 
  20271. in response to a BOARD_ACK_STATUS, or by JT Fax in response to a PC_ACK 
  20272. command or when in command state waiting for command. This command 
  20273. should only be used while in command state.
  20274.  
  20275. EXAMPLE:        IDLE                        - FAX
  20276.             (load time in buffer area            - Host
  20277.             SET_CARRIER_COMMAND             - Host
  20278.             BOARD_ACK_STATUS            - FAX
  20279.             PC_ACK                    - Host
  20280.             IDLE                        - Host
  20281.  
  20282. RELATED FUNCTIONS:     BOARD_ACK_STATUS, 
  20283.                 PC_ACK
  20284.  
  20285.  
  20286. **************************************************************************
  20287. Load_Data_Command
  20288. Characteristic    Description
  20289. COMMAND:         Load_Data_Command
  20290. CODE:             03H
  20291. CATEGORY:        FAX 
  20292. DIRECTION:        JT Fax to Host
  20293. INPUT to JT:        Data in DATA_AREA
  20294.             PC_ACK
  20295.             EOTFLAG 
  20296.             EOPFLAG
  20297. OUTPUT from JT:    none 
  20298.             LOAD_DATA_COMMAND
  20299.             EOTFLAG (receive mode only)
  20300. DEFAULT:        Not applicable
  20301.  
  20302. DESCRIPTION:    The LOAD_DATA_COMMAND is used when large amounts of 
  20303. data are needed. The direction of the load depends on the mode selected. 
  20304.  
  20305. If in TRANSMIT_MODE, the load data command is issued by JT Fax to indicate 
  20306. that data is ready to be received from the Host in the DATA_AREA. Once all the 
  20307. data has been placed in the DATA_AREA, the Host issues a PC_ACK. 
  20308.  
  20309. In the RECEIVE_MODE, the command is issued by JT Fax to alert the Host that 
  20310. data is available in the data area to be retrieved. After the Host retrieves the 
  20311. data, the host issues a PC_ACK.
  20312.  
  20313. EXAMPLE:        RECEIVE_MODE only
  20314.             RECVINIT                    - JT Fax
  20315.             (Host load ID in Buffer Area)
  20316.             PC_ACK                    - Host
  20317.             LOAD_DATA_COMMAND            - JT Fax
  20318.             (Host retrieves data)
  20319.             PC_ACK                    - Host
  20320.                 .
  20321.                 .
  20322.                 .
  20323.             EOT                        - JT Fax
  20324.  
  20325. RELATED FUNCTIONS:     EOT_FLAG, 
  20326.                 RECVINIT, 
  20327.                 PC_ACK
  20328.  
  20329.  
  20330. **************************************************************************
  20331. Load_Font_Command
  20332. Characteristic    Description
  20333. COMMAND:         Load_Font_Command
  20334. CODE:             04H
  20335. CATEGORY:        FAX 
  20336. DIRECTION:        Host to JT Fax
  20337. INPUT to JT:        Font Data in DATA_AREA
  20338.             EOTFLAG
  20339. OUTPUT from JT:    BOARD_ACK
  20340.             FONT_TOO_LARGE
  20341. DEFAULT:        Not applicable
  20342.  
  20343. DESCRIPTION:    The LOAD_FONT_COMMAND is used to load the predefined JT 
  20344. Fax fonts or a user designed font (see Chapter 7). The font would be used only 
  20345. in transmit mode and file type ASCII_TYPE. Since the font data is larger than 
  20346. the DATA area several LOAD_DATA_COMMANDS would be issued by JT Fax.
  20347.  
  20348. Issuing a HARD_RESET_COMMAND destroys a soft font, requiring a reload. 
  20349. Issuing a SOFT_RESET_COMMAND does not destroy a soft font.
  20350.  
  20351. EXAMPLE:        LOAD_FONT_COMMAND            - Host
  20352.             LOAD_DATA_COMMAND            - JT Fax
  20353.             ...load data in data_area            - Host
  20354.             PC_ACK                    - Host
  20355.             LOAD_DATA_COMMAND            - JT Fax
  20356.                 .
  20357.                 .
  20358.                 .
  20359.             EOT                        - Host
  20360.  
  20361. RELATED FUNCTIONS:     PC_ACK, EOT, 
  20362.                 LOAD_DATA_COMMAND, 
  20363.                 "JT Fax Fonts"
  20364.  
  20365.  
  20366. **************************************************************************
  20367. Manual_REC_Command
  20368. Characteristic    Description
  20369. COMMAND:         MANUAL_REC_COMMAND
  20370. CODE:             10H
  20371. CATEGORY:        Fax
  20372. DIRECTION:        Host to JT Fax 
  20373. INPUT to JT:        None
  20374. OUTPUT from JT:    BOARD_ACK
  20375. DEFAULT:        Not applicable
  20376.  
  20377. DESCRIPTION:    Manual receive enables the Host to force JT Fax to answer a 
  20378. call. The EXTEND_STATUS mode must be enabled before the STATUS command is 
  20379. received. A RING status appears in the STATUS_CODE field. After the status is 
  20380. retrieved, the Host returns the COMMAND field to IDLE.
  20381.  
  20382. EXAMPLE:        IDLE                        - FAX
  20383.             STATUS_COMMAND                - FAX
  20384.             ...retrieve status code ╥RING╙        - Host
  20385.             MANUAL_REC_COMMAND            - Host
  20386.             BOARD_ACK_STATUS            - FAX
  20387.             PC_ACK                    - Host
  20388.             LOAD_DATA_COMMAND            - FAX
  20389.             ...load data                     - Host
  20390.             PC_ACK                     - Host
  20391.             LOAD_DATA_COMMAND            - FAX
  20392.             ...load data                     - Host
  20393.             PC_ACK                     - Host
  20394.                  .
  20395.                  .
  20396.                  .
  20397.  
  20398. RELATED FUNCTIONS:     "Status Codes", 
  20399.                 STATUS_COMMAND
  20400.  
  20401.  
  20402. **************************************************************************
  20403. Modem_Mode_Command
  20404. Characteristic    Description
  20405. COMMAND:         Modem_Mode_Command
  20406. CODE:             027H
  20407. CATEGORY:        Configuration
  20408. DIRECTION:        Host to JT Fax
  20409. INPUT to JT:        None
  20410. OUTPUT from JT:    BOARD_ACK_STATUS
  20411. DEFAULT:        MODEM MODE in Command State
  20412.             FAX MODE is automatic with FAX commands
  20413.  
  20414. DESCRIPTION:        The MODEM_MODE_COMMAND is required to remove 
  20415. the previous FAX_MODE_COMMAND. The command also allows the OEM daughter 
  20416. Card to control the Telco line interface instead of JT Fax. PC Bus access is 
  20417. available in both Fax mode and Modem mode. If a Daughter card is not attached, 
  20418. Modem mode will not be necessary for JT Fax.
  20419.  
  20420. EXAMPLE:        IDLE                        - FAX
  20421.             FAX_MODE_COMMAND             - Host
  20422.             BOARD_ACK_STATUS            - FAX
  20423.             PC_ACK                    - Host
  20424.             IDLE                         - FAX
  20425.             OFF_HOOK_COMMAND            - Host
  20426.             BOARD_ACK_STATUS            - FAX
  20427.             PC_ACK                    - Host
  20428.             IDLE                         - FAX
  20429.             MODEM_MODE_COMMAND            - Host
  20430.             BOARD_ACK_STATUS            - FAX
  20431.             PC_ACK                    - Host
  20432.             IDLE                         - FAX
  20433.  
  20434. RELATED FUNCTIONS:     FAX_MODE_COMMAND
  20435.  
  20436.  
  20437. **************************************************************************
  20438. No_Busy_Command
  20439. Characteristic    Description
  20440. COMMAND:         No_Busy_Command
  20441. CODE:             02EH
  20442. CATEGORY:        Configuration 
  20443. DIRECTION:        Host to JT Fax
  20444. INPUT to JT:        None
  20445. OUTPUT from JT:    BOARD_ACK_STATUS
  20446. DEFAULT:        Detect Busy
  20447.  
  20448. DESCRIPTION:    The NO_BUSY_COMMAND instructs the JT Fax to ignore the 
  20449. busy signal.
  20450.  
  20451. EXAMPLE:        IDLE                        - FAX
  20452.             NO_BUSY_COMMAND             - Host
  20453.             BOARD_ACK_STATUS            - FAX
  20454.             PC_ACK                    - Host
  20455.             IDLE_STATUS                - Fax
  20456.  
  20457. RELATED FUNCTIONS:     XMIT_COMMAND, 
  20458.                 PULSE_DIAL_COMMAND, 
  20459.                 DTMF_DIAL_COMMAND
  20460.  
  20461.  
  20462. **************************************************************************
  20463. OEM_Code_Command
  20464. Characteristic    Description
  20465. COMMAND:         OEM_Code_Command
  20466. CODE:             079H
  20467. CATEGORY:        Utility 
  20468. DIRECTION:        Host to JT Fax
  20469. INPUT to JT:        None
  20470. OUTPUT from JT:    None
  20471. DEFAULT:        Not applicable
  20472.  
  20473. DESCRIPTION:    The OEM_CODE_COMMAND executes Host code that was 
  20474. downloaded to the Fax. The Fax utilizes a 16 MHz processor. The 
  20475. OEM_CODE_COMMAND executes custom assembly language code for the Host. The 
  20476. OEM code and data can be no larger than 28 KB. The OEM code has access to the 
  20477. command byte structure at 0:8000H. The code segment must be "0" and the code 
  20478. or data must start at 0:8800H. Additional 3K of RAM is available at 0:67D0H. (See 
  20479. Appendix F).
  20480.  
  20481. EXAMPLE:        IDLE                        - FAX
  20482.             OEM_CODE_COMMAND            - Host
  20483.             ...OEM code executes            - FAX
  20484.             ...OEM code terminates            - FAX
  20485.             BOARD_ACK_COMMAND            - FAX
  20486.             PC_ACK                    - Host
  20487.             IDLE                        - FAX
  20488.  
  20489. RELATED FUNCTIONS:     "OEM CODE ", 
  20490.                 OEM_LOAD_COMMAND
  20491.  
  20492.  
  20493. **************************************************************************
  20494. OEM_Load_Command
  20495. Characteristic    Description
  20496. COMMAND:         OEM_Load_Command
  20497. CODE:             07AH
  20498. CATEGORY:        Utility 
  20499. DIRECTION:        Host to JT Fax
  20500. INPUT to JT:        OEM code in DATA_AREA
  20501. OUTPUT from JT:    LOAD_DATA_COMMAND
  20502.             BOARD_ACK_COMMAND
  20503. DEFAULT:        Not applicable
  20504.  
  20505. DESCRIPTION:    The OEM_LOAD_COMMAND loads the OEM code into the Soft 
  20506. Font RAM. The OEM code and data can be no larger than 28 KB. The 
  20507. OEM_LOAD_COMMAND sequence is similar to the LOADFONT_COMMAND 
  20508. sequence. If the OEM code is larger than the space available, a 
  20509. FONT_TOO_LARGE error is returned. The load aborts when the error is reported. 
  20510. The OEM code remains in RAM until power up or a 
  20511. HARDWARE_RESET_COMMAND or LOAD_FONT_COMMAND is issued.
  20512.  
  20513. Note Soft fonts are not available when using this command.
  20514.  
  20515. EXAMPLE:        IDLE                        - FAX
  20516.             OEM_LOAD_COMMAND            - Host
  20517.             LOAD_DATA_COMMAND            - JT Fax
  20518.             ...Load OEM code into Data_area        - Host
  20519.             PC_ACK                    - Host
  20520.             LOAD_DATA_COMMAND            - JT Fax
  20521.                 .
  20522.                 .
  20523.                 .
  20524.             EOT                        - Host
  20525.             BOARD_ACK_COMMAND            - FAX
  20526.             PC_ACK                    - Host
  20527.             IDLE                        - FAX
  20528.  
  20529. RELATED FUNCTIONS:     "OEM CODE ", 
  20530.                 OEM_CODE_COMMAND, 
  20531.                 LOAD_FONT_COMMAND
  20532.  
  20533.  
  20534.  
  20535. **************************************************************************
  20536. Off_Hook_Command
  20537. Characteristic    Description
  20538. COMMAND:         Off_Hook_Command
  20539. CODE:             025H
  20540. CATEGORY:        Utility
  20541. DIRECTION:        Host to JT Fax
  20542. INPUT to JT:        None
  20543. OUTPUT from JT:    BOARD_ACK_COMMAND
  20544. DEFAULT:        Not applicable
  20545.  
  20546. DESCRIPTION:    The OFF_HOOK_COMMAND forces the JT Fax to go "Off-Hook" 
  20547. (i.e., pickup the phone). The command is used when the Host wants to initiate a 
  20548. dialing sequence (DTMF or Pulse). The OFF_HOOK_COMMAND returns to 
  20549. Command state after completion.
  20550.  
  20551. Note: JT Fax must be in FAX_MODE to use Utility commands.
  20552.  
  20553. EXAMPLE:        IDLE                        - FAX
  20554.             OFF_HOOK_COMMAND            - Host
  20555.             BOARD_ACK_STATUS            - FAX
  20556.             PC_ACK                    - Host
  20557.             IDLE                         - FAX
  20558.  
  20559. RELATED FUNCTIONS:     FAX_MODE_COMMAND, 
  20560.                 ON_HOOK_COMMAND
  20561.  
  20562.  
  20563. **************************************************************************
  20564. On_Hook_Command
  20565. Characteristic    Description
  20566. COMMAND:         On_Hook_Command
  20567. CODE:             024H
  20568. CATEGORY:        Utility
  20569. DIRECTION:        Host to JT Fax
  20570. INPUT to JT:        None
  20571. OUTPUT from JT:    BOARD_ACK_COMMAND
  20572. DEFAULT:        Not applicable
  20573.  
  20574. DESCRIPTION:        The ON_HOOK_COMMAND forces the JT Fax to go "on-
  20575. hook". The command is used after "OFF_HOOK_COMMAND" has been issued when 
  20576. the Host requires a return to "on-hook" condition (i.e., hang-up). The 
  20577. ON_HOOK_COMMAND returns to Command state after completion.
  20578.  
  20579. Note: JT Fax must be in FAX_MODE to use Utility commands.
  20580.  
  20581. EXAMPLE:            IDLE                    - FAX
  20582.                 ON_HOOK_COMMAND        - Host
  20583.                 BOARD_ACK_STATUS        - FAX
  20584.                 PC_ACK                - Host
  20585.                 IDLE                     - FAX
  20586.  
  20587. RELATED FUNCTIONS:     FAX_MODE_COMMAND, 
  20588.                 OFF_HOOK_COMMAND
  20589.  
  20590.  
  20591. **************************************************************************
  20592. Online_Voice_Record_Off
  20593. Characteristic    Description
  20594. COMMAND:         Online_Voice_Record_Off
  20595. CODE:             78H
  20596. CATEGORY:        Voice - Configuration 
  20597. DIRECTION:        Host to JT Fax
  20598. INPUT to JT:        None
  20599. OUTPUT from JT:    None
  20600. DEFAULT:        Off
  20601.  
  20602. DESCRIPTION:    This API command turns the online voice record option 
  20603. off. This command can be issued after the voice message has been received to 
  20604. prevent premature termination of tone or voice greeting messages.
  20605.  
  20606. EXAMPLE:        IDLE                        - Host
  20607.                 .
  20608.                 .
  20609.                 .
  20610.             ONLINE_VOICE_RECORD_ON        - Host
  20611.             BOARD_ACK                    - FAX
  20612.             PC_ACK                    - Host
  20613.             IDLE                         - FAX
  20614.             REC_START_COMMAND            - Host
  20615.                 .
  20616.                 .
  20617.                 .
  20618.             EOVFLAG                    - FAX
  20619.             ...Load data from Data Area        - Host
  20620.             PC_ACK                    - Host
  20621.             IDLE                         - FAX
  20622.             ONLINE_VOICE_RECORD_OFF        - Host
  20623.             BOARD_ACK                    - FAX
  20624.  
  20625. RELATED FUNCTIONS:     ONLINE_VOICE_RECORD_ON, 
  20626.                 EOVFLAG, 
  20627.                 RECORD_START_COMMAND
  20628.  
  20629.  
  20630. **************************************************************************
  20631. Online_Voice_Record_On
  20632. Characteristic    Description
  20633. COMMAND:         Online_Voice_Record_On
  20634. CODE:             77H
  20635. CATEGORY:        Voice - Configuration 
  20636. DIRECTION:        Host to JT Fax
  20637. INPUT to JT:        None
  20638. OUTPUT from JT:    None
  20639. DEFAULT:        Off
  20640.  
  20641. DESCRIPTION:    This API provides the option to record voice messages 
  20642. while online. The message is terminated after the caller disconnects and dial 
  20643. tone is detected. Since tones in the range of 350-620 Hz cause termination, it is 
  20644. necessary to disable this option during all other recordings.
  20645.  
  20646. EXAMPLE:        IDLE                        - Host
  20647.                 .
  20648.                 .
  20649.                 .
  20650.             SILENCE_DETECTED_STATUS        - FAX
  20651.                 .
  20652.                 .
  20653.                 .
  20654.             ONLINE_VOICE_RECORD_ON        - Host
  20655.             BOARD_ACK                    - FAX
  20656.             PC_ACK                    - Host
  20657.             REC_START_COMMAND            - Host
  20658.                 .
  20659.                 .
  20660.                 .
  20661.             EOVFLAG                    - FAX
  20662.             ...Load data from Data Area        - Host
  20663.             PC_ACK                    - Host
  20664.             IDLE                         - FAX
  20665.  
  20666. RELATED FUNCTIONS:     ONLINE_VOICE_RECORD_OFF, 
  20667.                 EOVFLAG, 
  20668.                 RECORD_START_COMMAND
  20669.  
  20670.  
  20671. **************************************************************************
  20672. PC_ACK
  20673. Characteristic    Description
  20674. COMMAND:         PC_ACK
  20675. CODE:             05H
  20676. CATEGORY:        STATUS handshake
  20677. DIRECTION:        Host to JT Fax
  20678. INPUT to JT:        None
  20679. OUTPUT from JT:    None, Idle
  20680. DEFAULT:        Not applicable
  20681.  
  20682. DESCRIPTION:    The PC_ACK command is used as acknowledgment between 
  20683. the PC software and the JT Fax 14400B. The response is appropriate when 
  20684. receiving a command from the JT Fax 14400 B Dual board. A PC_ACK does not 
  20685. require a response from the JT Fax 14400B Dual board.
  20686.  
  20687. EXAMPLE:            .
  20688.                 .
  20689.                 .
  20690.             GET_DTMF_COMMAND            - Host
  20691.             BOARD_ACK_STATUS            - JT Fax
  20692.             DTMF_DETECT_STATUS            - JT Fax
  20693.                 (retrieve DTMF code)
  20694.             PC_ACK                    - Host
  20695.     .
  20696.     .
  20697.     .
  20698.  
  20699. RELATED FUNCTIONS:     LOAD_DATA_COMMAND, 
  20700.                 RECVINIT, 
  20701.                 LOAD_FONT_COMMAND, 
  20702.                 BOARD_ACK_STATUS
  20703.  
  20704.  
  20705. **************************************************************************
  20706. Play_End_Command
  20707. Characteristic    Description
  20708. COMMAND:         Play_End_Command
  20709. CODE:             063H
  20710. CATEGORY:        Voice
  20711. DIRECTION:        Host to JT Fax
  20712. INPUT to JT:        None
  20713. OUTPUT from JT:    BOARD_ACK_STATUS
  20714. DEFAULT:        Not applicable
  20715.  
  20716. DESCRIPTION:    The PLAY_END_COMMAND stops the playback of a voice file 
  20717. in voice mode. The current buffer is deleted and the voice transmission is 
  20718. halted.
  20719.  
  20720. EXAMPLE:        PLAY_START_COMMAND            - Host
  20721.             BOARD_ACK_COMMAND            - FAX
  20722.             PC_ACK                    - Host
  20723.             LOAD_DATA_COMMAND            - FAX
  20724.             ...load data in DATA_AREA            - Host
  20725.             ...set number bytes                - Host
  20726.             PC_ACK                    - Host
  20727.             LOAD_DATA_COMMAND            - FAX
  20728.             PLAY_END_COMMAND            - Host
  20729.             BOARD_ACK_COMMAND            - FAX
  20730.             PC_ACK                    - Host
  20731.             IDLE                         - FAX
  20732.  
  20733. RELATED FUNCTIONS:     "Voice and DTMF", 
  20734.                 PLAY_START_COMMAND, 
  20735.                 EOV_FLAG
  20736.  
  20737.  
  20738. **************************************************************************
  20739. Play_Start_Command
  20740. Characteristic    Description
  20741. COMMAND:         Play_Start_Command
  20742. CODE:             062H
  20743. CATEGORY:        Voice 
  20744. DIRECTION:        Host to JT Fax
  20745. INPUT to JT:        Binary Voice data in DATA_AREA
  20746. OUTPUT from JT:    BOARD_ACK_STATUS
  20747. DEFAULT:        Not applicable
  20748.  
  20749. DESCRIPTION:    The PLAY_START_COMMAND initiates the playing of a 
  20750. recorded voice file. The command sequence is similar to a XMIT_COMMAND. An 
  20751. EOV_FLAG is issued when the last voice data is entered in DATA_AREA. The 
  20752. timing for loading data is the same as XMIT_COMMAND for JT Fax data formats.
  20753.  
  20754. EXAMPLE:        PLAY_START_COMMAND            - Host
  20755.             BOARD_ACK_COMMAND            - FAX
  20756.             PC_ACK                    - Host
  20757.             LOAD_DATA_COMMAND            - FAX
  20758.             ...load data in DATA_AREA            - Host
  20759.             ...set number bytes                - Host
  20760.             PC_ACK                    - Host
  20761.             LOAD_DATA_COMMAND            - FAX
  20762.             ...load data in DATA_AREA            - Host
  20763.             ...set number bytes                - Host
  20764.             PC_ACK                    - Host
  20765.             LOAD_DATA_COMMAND            - FAX
  20766.             ...load data in DATA_AREA            - Host
  20767.             ...set number bytes                - Host
  20768.             EOV_FLAG                    - Host    
  20769.             BOARD_ACK_COMMAND            - FAX
  20770.             PC_ACK                    - Host
  20771.             IDLE                         - FAX
  20772.  
  20773. RELATED FUNCTIONS:     "Voice and DTMF", 
  20774.                 CNG_DETECT_ON_COMMAND, 
  20775.                 ERRFLAG, 
  20776.                 NO_CNG_DETECT_ERROR, 
  20777.                 PLAY_STOP_COMMAND, 
  20778.                 EOV_FLAG
  20779.  
  20780.  
  20781. **************************************************************************
  20782. Pulse_Break_Command
  20783. Characteristic    Description
  20784. COMMAND:         Pulse_Break_Command
  20785. CODE:             03AH
  20786. CATEGORY:        Configuration
  20787. DIRECTION:        Host to JT Fax
  20788. INPUT to JT:        Word value in Buffer_Area in milliseconds
  20789. OUTPUT from JT:    BOARD_ACK_STATUS
  20790. DEFAULT:        60 milliseconds
  20791.  
  20792. DESCRIPTION:    The PULSE_BREAK_COMMAND requires the Host to set the 
  20793. value of the "BREAK" portion of the make/break ratio for pulse dialing. The 
  20794. value is written into buffer_area before the command is issued.
  20795.  
  20796. EXAMPLE:        IDLE                        - FAX
  20797.             PULSE_BREAK_COMMAND            - Host
  20798.             BOARD_ACK_STATUS            - FAX
  20799.             PC_ACK                    - Host
  20800.             IDLE                        - FAX
  20801.  
  20802. RELATED FUNCTIONS:     PULSE_MAKE_COMMAND, 
  20803.                 PULSE_DIAL_COMMAND
  20804.  
  20805.  
  20806. **************************************************************************
  20807. Pulse_Dial_Command
  20808. Characteristic    Description
  20809. COMMAND:         Pulse_Dial_Command
  20810. CODE:             02DH
  20811. CATEGORY:        Utility 
  20812. DIRECTION:        Host to JT Fax
  20813. INPUT to JT:        Pulse number at OFFSET 00H in buffer_area
  20814. Max. number length 60 characters.
  20815. OUTPUT from JT:    BOARD_ACK_STATUS
  20816. DEFAULT:        Not applicable
  20817.  
  20818. DESCRIPTION:    PULSE_DIAL_COMMAND dials the phone number at 
  20819. BUFFER_AREA. The command does not connect the phone line. The line must be 
  20820. connected with an OFF_HOOK_COMMAND. The dial string has several digits and 
  20821. modifiers. The DTMF digits supported are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. The dial 
  20822. modifiers are:
  20823.  
  20824. JT Fax 9600B COMPATIBILITY
  20825. -------------------------------
  20826. First byte: 
  20827.     'P' - Pulse Dial
  20828.     'T' - Tone Dial 
  20829. Second byte: 
  20830.     'W' - Wait for Dial Tone 
  20831.     ' ' - Do not Wait 
  20832.  
  20833. If the first two bytes are 'MA' (Manual Dial) a number will not be dialed.
  20834.  
  20835. JT Fax 14400B
  20836. ---------------------------
  20837. P    - pulse dial
  20838. T    - tone dial
  20839. W    - wait for dialtone
  20840. ,    - 2 second pause
  20841. !    - flash hook
  20842. I    - no busy detect
  20843.  
  20844. Note: JT Fax must be in Fax mode for Utility commands.
  20845.  
  20846. EXAMPLE:        IDLE                        - FAX
  20847.             (load string value in buffer_area)    - Host
  20848.             PULSE_DIAL_COMMAND             - Host
  20849.             BOARD_ACK_STATUS            - FAX
  20850.             PC_ACK                    - Host
  20851.             IDLE_STATUS                - Fax
  20852.     
  20853. RELATED FUNCTIONS:     XMIT_COMMAND, 
  20854.                 PULSE_INTER_COMMAND
  20855.  
  20856.  
  20857. **************************************************************************
  20858. Pulse_Inter_Command
  20859. Characteristic    Description
  20860. COMMAND:         Pulse_Inter_Command
  20861. CODE:             032H
  20862. CATEGORY:        Configuration
  20863. DIRECTION:        Host to JT Fax
  20864. INPUT to JT:        Time in milliseconds, WORD value in buffer_area
  20865. OUTPUT from JT:    BOARD_ACK_STATUS
  20866. DEFAULT:        600 milliseconds
  20867.  
  20868. DESCRIPTION:    The PULSE_INTER_COMMAND sets the interdigit time of the 
  20869. pulse dial. The units of the command are in milliseconds.
  20870.  
  20871. EXAMPLE:        IDLE                        - FAX
  20872.             (value in buffer_area)            - Host
  20873.             PULSE_INTER_COMMAND             - Host
  20874.             BOARD_ACK_STATUS            - FAX
  20875.             PC_ACK                     - Host
  20876.             IDLE_STATUS                - FAX
  20877.  
  20878. RELATED FUNCTIONS:     PULSE_BREAK_COMMAND, 
  20879.                 PULSE_MAKE_COMMAND
  20880.  
  20881.  
  20882. **************************************************************************
  20883. Pulse_Make_Command
  20884. Characteristic    Description
  20885. COMMAND:         Pulse_Make_Command
  20886. CODE:             03BH
  20887. CATEGORY:        Configuration
  20888. DIRECTION:        Host to JT Fax
  20889. INPUT to JT:        Word value in Buffer_Area in milliseconds
  20890. OUTPUT from JT:    BOARD_ACK_STATUS
  20891. DEFAULT:        40 milliseconds
  20892.  
  20893. DESCRIPTION:    The PULSE_MAKE_COMMAND requires the Host to set the 
  20894. value of the "make" portion of the make/break ratio for pulse dialing. The 
  20895. value is written into buffer_area before the command is issued.
  20896.  
  20897. EXAMPLE:        IDLE                        - FAX
  20898.             PULSE_MAKE_COMMAND            - Host
  20899.             BOARD_ACK_STATUS            - FAX
  20900.             PC_ACK                    - Host
  20901.             IDLE                        - FAX
  20902.  
  20903. RELATED FUNCTIONS:     PULSE_MAKE_COMMAND, 
  20904.                 PULSE_DIAL_COMMAND
  20905.  
  20906.  
  20907. *****************************************************************************
  20908. RecvInit
  20909. Characteristic    Description
  20910. COMMAND:         RecvInit
  20911. CODE:             10H
  20912. CATEGORY:        Fax 
  20913. DIRECTION:        JT Fax to Host
  20914. INPUT to JT:        PC_ACK
  20915. OUTPUT from JT:    None
  20916. DEFAULT:        Not applicable
  20917.  
  20918. DESCRIPTION:    RECVINIT command is issued to the Host when JT Fax detects 
  20919. an incoming call. The call may be a voice call or a fax call. It is up to the Host 
  20920. to make this determination (see Chapter 4) and decide to initiate voice 
  20921. procedures, disconnect, or continue the call. The default is to continue the call. 
  20922. If the caller is voice and CNG_DETECT is not enabled, the CED is transmitted and 
  20923. the call disconnects when Carrier timer expires. CNG detect mode has several 
  20924. options (see 
  20925. Chapter 4). 
  20926.  
  20927. EXAMPLE:        IDLE                        - FAX
  20928.             RECVINIT_COMMAND             - FAX
  20929.             ...(load ID into Buffer Area)        - FAX
  20930.             PC_ACK                    - Host
  20931.             LOAD_DATA_COMMAND            - FAX
  20932.             ...retrieve data                 - Host
  20933.             PC_ACK                     - Host
  20934.                 .
  20935.                 .
  20936.                 .
  20937.             EOTFLAG                     - JT Fax
  20938.             ...retrieve data                 - Host
  20939.             PC_ACK                     - Host
  20940.             IDLE                         - JT Fax
  20941.  
  20942. RELATED FUNCTIONS:     XMIT_COMMAND, 
  20943.                 LOAD_DATA_COMMAND,
  20944.                 SET_VOICE_COMMAND, 
  20945.                 DTMF_DETECT_COMMAND, 
  20946.                 DTMF_DETECT, 
  20947.                 SILENCE_DETECTED, 
  20948.                 SET_ACTIVITY_TIMER, 
  20949.                 "Error Codes"
  20950.  
  20951.  
  20952. **************************************************************************
  20953. Rec_PCX_Off_Command
  20954. Characteristic    Description
  20955. COMMAND:         Rec_PCX_Off_Command
  20956. CODE:             023H
  20957. CATEGORY:        Configuration
  20958. DIRECTION:        Host to JT Fax
  20959. INPUT to JT:        None
  20960. OUTPUT from JT:    BOARD_ACK_STATUS
  20961. DEFAULT:        PCX receive conversion disabled
  20962.  
  20963. DESCRIPTION:    REC_PCX_OFF_COMMAND configures JT Fax to convert 
  20964. the caller's T.4 encoded file to a JT_FAX_FORMAT.
  20965.  
  20966. EXAMPLE:        IDLE                        - FAX
  20967.             REC_PCX_OFF_COMMAND            - Host
  20968.             BOARD_ACK_STATUS            - FAX
  20969.             PC_ACK                    - Host
  20970.             IDLE                         - FAX
  20971.  
  20972. RELATED FUNCTIONS:     RECVINIT, 
  20973.                 MANUAL_REC_COMMAND, 
  20974.                 "Data Formats"
  20975.  
  20976.  
  20977. **************************************************************************
  20978. Rec_PCX_On_Command
  20979. Characteristic    Description
  20980. COMMAND:         Rec_PCX_On_Command
  20981. CODE:             022H
  20982. CATEGORY:        Configuration
  20983. DIRECTION:        Host to JT Fax
  20984. INPUT to JT:        None
  20985. OUTPUT from JT:    BOARD_ACK_STATUS
  20986. DEFAULT:        PCX receive conversion disabled
  20987.  
  20988. DESCRIPTION:    REC_PCX_ON_COMMAND configures JT Fax to convert 
  20989. the caller's T.4 encoded file to a PCX version 3 file. The PCX header is given to 
  20990. the Host in the first data load.
  20991.  
  20992. EXAMPLE:        IDLE                        - FAX
  20993.             REC_PCX_ON_COMMAND            - Host
  20994.             BOARD_ACK_STATUS            - FAX
  20995.             PC_ACK                    - Host
  20996.             IDLE                         - FAX
  20997.  
  20998. RELATED FUNCTIONS:     RECVINIT, 
  20999.                 MANUAL_REC_COMMAND
  21000.  
  21001.  
  21002. **************************************************************************
  21003. Rec_Start_Command
  21004. Characteristic    Description
  21005. COMMAND:         Rec_Start_Command
  21006. CODE:             064H
  21007. CATEGORY:        Voice 
  21008. DIRECTION:        Host to JT Fax
  21009. INPUT to JT:        None
  21010. OUTPUT from JT:    Recorded data in DATA_AREA
  21011.             Load_Data_Command
  21012. DEFAULT:        Not applicable
  21013.  
  21014. DESCRIPTION:    The REC_START_COMMAND instructs the fax to initiate a 
  21015. recording session. The command sequences are similar to the receive Fax data. 
  21016. Once the command is issued, the data pump is configured and voice data from 
  21017. the A/D converter is read immediately. The data sampling continues until a 
  21018. REC_STOP_COMMAND is issued.
  21019.  
  21020. EXAMPLE:        REC_START_STATUS            - Host
  21021.             BOARD_ACK_STATUS            - FAX
  21022.             ...load data in DATA_AREA            - FAX
  21023.             ...set number bytes                - FAX
  21024.             LOAD_DATA                     - FAX
  21025.             ...retrieve data from DATA_AREA    - Host
  21026.             PC_ACK                    - Host
  21027.             ...load data in DATA_AREA            - FAX
  21028.             ...set number bytes                - FAX
  21029.             LOAD_DATA                     - FAX
  21030.             ...load data from DATA_AREA        - Host
  21031.                 .
  21032.                 .
  21033.                 .
  21034.  
  21035. RELATED FUNCTIONS:     "Voice and DTMF", 
  21036.                 REC_STOP_COMMAND, 
  21037.                 RECVINIT_COMMAND
  21038.  
  21039. Note: This command can be used to record offline on Fax A with a microphone. 
  21040. Recording may be done while connected on-line with either Fax A or Fax B 
  21041. using the phone line as input.
  21042.  
  21043.  
  21044. **************************************************************************
  21045. Rec_Stop_Command
  21046. Characteristic    Description
  21047. COMMAND:         Rec_Stop_Command
  21048. CODE:             065H
  21049. CATEGORY:        Voice
  21050. DIRECTION:        Host to JT Fax
  21051. INPUT to JT:        None
  21052. OUTPUT from JT:    Recorded data in DATA_AREA
  21053.             Load_Data_Command
  21054.             EOV_FLAG
  21055. DEFAULT:        Off
  21056.  
  21057. DESCRIPTION:    The REC_STOP_COMMAND instructs the JT Fax to terminate a 
  21058. recording session. The recording stops and the data in the record buffers is 
  21059. transmitted to the Host. To end the transmission of data to the Host, the JT Fax 
  21060. issues an EOV_FLAG.
  21061.  
  21062. EXAMPLE:        REC_START_COMMAND            - Host
  21063.             BOARD_ACK_STATUS            - FAX
  21064.             ...load data in DATA_AREA            - FAX
  21065.             ...set number bytes                - FAX
  21066.             LOAD_DATA                     - FAX
  21067.             ...load data from DATA_AREA        - Host
  21068.             PC_ACK                    - Host
  21069.             ...load data in DATA_AREA            - FAX
  21070.             ...set number bytes                - FAX
  21071.             LOAD_DATA                     - FAX
  21072.             ...load data from DATA_AREA        - Host
  21073.             REC_STOP_COMMAND            - Host
  21074.             ...load data in DATA_AREA            - FAX
  21075.             ...set number bytes                - FAX
  21076.             EOV_FLAG                     - FAX
  21077.             ...load data from DATA_AREA        - Host
  21078.             PC_ACK                    - Host
  21079.             IDLE                         - FAX
  21080.  
  21081. RELATED FUNCTIONS:     "Voice and DTMF", 
  21082.                 REC_START_COMMAND, 
  21083.                 RECVINIT_COMMAND
  21084.  
  21085. Note: After recording messages, disconnect the microphone from Fax A.
  21086.  
  21087.  
  21088. **************************************************************************
  21089. Reset_Data_Pump_Command
  21090. Characteristic    Description
  21091. COMMAND:         Reset_Data_Pump_Command
  21092. CODE:             033H
  21093. CATEGORY:        Utility
  21094. DIRECTION:        Host to JT Fax
  21095. INPUT to JT:        None
  21096. OUTPUT from JT:    BOARD_ACK_STATUS
  21097. DEFAULT:        Not applicable
  21098. DESCRIPTION:    The RESET_DATA_PUMP command resets the Fax data pump. 
  21099. When resetting the data pump, the chip returns to its initial power on state. 
  21100. This command should only be used before the DIAL_DTMF_COMMANDS state. 
  21101. The command is used by JT Fax to set the data pump to a known state after each 
  21102. call or receive.
  21103.  
  21104. EXAMPLE:    RESET_DATA_PUMP_COMMAND            - Host
  21105.         BOARD_ACK_STATUS                - FAX
  21106.         PC_ACK                        - Host
  21107.         IDLE                            - FAX
  21108.  
  21109. RELATED FUNCTIONS:     HARDWARE_RESET_COMMAND
  21110.  
  21111.  
  21112. **************************************************************************
  21113. Return_to_Command
  21114. Characteristic    Description
  21115. COMMAND:         Return_to_Command
  21116. CODE:             072H
  21117. CATEGORY:        Voice 
  21118. DIRECTION:        Host to JT Fax
  21119. INPUT to JT:        None
  21120. OUTPUT from JT:    BOARD_ACK_COMMAND
  21121. DEFAULT:        Not applicable
  21122. DESCRIPTION:    The RETURN_TO_COMMAND terminates voice mode and 
  21123. returns to command state. The JT Fax returns to command state, and the data 
  21124. pump is reset. The phone line may be disconnected by the ON_HOOK_COMMAND 
  21125. if desired.
  21126.  
  21127. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  21128.             PC_ACK                    - Host
  21129.             RETURN_TO_COMMAND            - HOST
  21130.             BOARD_ACK_STATUS            - FAX
  21131.             PC_ACK                    - Host
  21132.             IDLE                        - FAX
  21133.  
  21134. RELATED FUNCTIONS:     "Voice and DTMF", 
  21135.                 CNG_DETECT_ON_COMMAND, 
  21136.                 RETURN_TO_DATA_COMMAND
  21137.  
  21138.  
  21139. **************************************************************************
  21140. Return_to_Data_Command
  21141. Characteristic    Description
  21142. COMMAND:         Return_to_Data_Command
  21143. CODE:             071H
  21144. CATEGORY:        Voice 
  21145. DIRECTION:        Host to JT Fax
  21146. INPUT to JT:        None
  21147. OUTPUT from JT:    BOARD_ACK_COMMAND
  21148. DEFAULT:        Not applicable
  21149.  
  21150. DESCRIPTION:    The RETURN_TO_DATA_COMMAND terminates voice mode 
  21151. and returns to complete a fax call. The JT Fax is returned to fax data at the 
  21152. beginning of Phase A and transmits the CED to the caller. (See Chapter 6).
  21153.  
  21154. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  21155.             PC_ACK                    - Host
  21156.             RETURN_TO_DATA_COMMAND        - Host
  21157.             BOARD_ACK_STATUS            - FAX
  21158.             ...send CED                    - FAX
  21159.  
  21160. RELATED FUNCTIONS:     "Voice and DTMF", 
  21161.                 CNG_DETECT_ON_COMMAND
  21162.  
  21163.  
  21164. **************************************************************************
  21165. Setup_Voice_Command
  21166. Characteristic    Description
  21167. COMMAND:         Setup_Voice_Command
  21168. CODE:             05FH
  21169. CATEGORY:        Voice 
  21170. DIRECTION:        Host to JT Fax
  21171. INPUT to JT:        None
  21172. OUTPUT from JT:    BOARD_ACK_STATUS
  21173. DEFAULT:        Not applicable
  21174.  
  21175. DESCRIPTION:    The SETUP_VOICE_COMMAND must be issued from command 
  21176. state. The command is used to enter voice mode for RECORDING or PLAYBACK 
  21177. and testing. Once in the VOICE mode, all voice commands can be issued and 
  21178. DTMF detection is enabled. See Chapter 6.
  21179.  
  21180. EXAMPLE:        IDLE                        - FAX
  21181.             SETUP_VOICE_COMMAND             - Host
  21182.             BOARD_ACK_STATUS            - FAX
  21183.             PC_ACK                    - Host
  21184.             IDLE                        - FAX
  21185.  
  21186. RELATED FUNCTIONS:     ╥Voice and DTMF"
  21187.  
  21188.  
  21189. **************************************************************************
  21190. Set_Act_Timer_Command
  21191. Characteristic    Description
  21192. COMMAND:         Set_Act_Timer_Command
  21193. CODE:             06FH
  21194. CATEGORY:        Voice - Configuration
  21195. DIRECTION:        Host to JT Fax
  21196. INPUT to JT:        Word value in Buffer_Area
  21197. OUTPUT from JT:    BOARD_ACK_STATUS
  21198. DEFAULT:        3.5 seconds
  21199.  
  21200. DESCRIPTION:    The SET_ACT_TIMER_COMMAND sets the activity timer 
  21201. when CNG_DETECT_ON_COMMAND has been issued. The timer value is specified 
  21202. in milliseconds and has a range from 0-65000. The activity timer starts after 
  21203. the Fax picks up the phone line. If a CNG tone is detected (Fax caller), the 
  21204. timer is reset, a CED is transmitted (Fax callee) and the Fax call continues. 
  21205. However, if silence is detected (no CNG tone) for the duration of the activity 
  21206. timer, the SILENCE_DETECT_STATUS is issued. The JT Fax automatically enters 
  21207. VOICE/DTMF mode. 
  21208.  
  21209. Note: Cycle time for a CNG_TONE is 3 seconds off, 0.5 seconds on.
  21210.  
  21211. EXAMPLE:        SILENCE_DETECTED_STATUS        - FAX
  21212.             PC_ACK                    - Host
  21213.             IDLE                        - Host
  21214.                 .
  21215.                 .
  21216.                 .
  21217.             PLAY_START_COMMAND            - Host
  21218.                 .
  21219.                 .
  21220.                 .
  21221.  
  21222. RELATED FUNCTIONS:     "Voice and DTMF", 
  21223.                 PLAY_START_COMMAND, 
  21224.                 DTMF_DIAL_COMMAND, 
  21225.                 DTMF_DETECT_ON_COMMAND
  21226.  
  21227.  
  21228. **************************************************************************
  21229. Set_Carrier_Command
  21230. Characteristic    Description
  21231. COMMAND:         Set_Carrier_Command
  21232. CODE:             020H
  21233. CATEGORY:        Configuration
  21234. DIRECTION:        Host to JT Fax 
  21235. INPUT to JT:        Wait for carrier time
  21236.             buffer area (word value) - in milliseconds max. 
  21237.             (65 seconds)
  21238. OUTPUT from JT:    BOARD_ACK
  21239. DEFAULT:        60 sec
  21240.  
  21241. DESCRIPTION:    The SET_CARRIER_COMMAND sets the time to wait for the 
  21242. caller and called station to complete Phase A. The NO_CARRIER timer starts 
  21243. after the dial and terminates at the beginning of Phase B. If the timer expires, 
  21244. the call is disconnected and an ERROR status returned to the host. Carrier may 
  21245. also be set placing a work value into Buffer Area [0] before a Sync Command is 
  21246. issued. Units are in milliseconds.
  21247.  
  21248. EXAMPLE:        (load time in buffer area)        - Host
  21249.             SET_CARRIER_COMMAND             - Host
  21250.             BOARD_ACK_STATUS            - FAX
  21251.             PC_ACK                    - Host
  21252.             IDLE                        - FAX
  21253.  
  21254. RELATED FUNCTIONS:     ERROR, "Error Codes", 
  21255.                 "Status Codes"
  21256.  
  21257.  
  21258. **************************************************************************
  21259. Set_Gain_Command
  21260. Characteristic    Description
  21261. COMMAND:         Set_Gain_Command
  21262. CODE:             069H
  21263. CATEGORY:        Voice - Configuration
  21264. DIRECTION:        Host to JT Fax
  21265. INPUT to JT:        Word value in BUFFER_AREA
  21266. OUTPUT from JT:    BOARD_ACK_COMMAND
  21267. DEFAULT:        43.8 dB
  21268.  
  21269. DESCRIPTION:    The SET_GAIN_COMMAND sets the maximum gain of the 
  21270. voice recording. The maximum gain should only be changed during recording 
  21271. to achieve a better quality of voice recording. The maximum gain is calculated 
  21272. by the following formula:
  21273.  
  21274.     MAX_GAIN = 655.36 [ 50 - Gain Limit (dB) ].
  21275.  
  21276. The value should be a 16-bit, positive, two╒s compliment value. The value is 
  21277. retained between recordings.
  21278.  
  21279. EXAMPLE:        IDLE                        - FAX
  21280.             ...load Gain Limit WORD in 
  21281.                  buffer_area                 - Host
  21282.             SET_GAIN_COMMAND            - Host
  21283.             BOARD_ACK_COMMAND            - FAX
  21284.             PC_ACK                    - Host
  21285.             IDLE                        - FAX
  21286.             REC_START_COMMAND            - Host
  21287.             BOARD_ACK_COMMAND            - FAX
  21288.             ...load data in DATA_AREA            - FAX
  21289.             ...set number bytes                - FAX
  21290.             LOAD_DATA_COMMAND            - FAX
  21291.                 .
  21292.                 .
  21293.                 .
  21294.             EOV_FLAG                     - FAX
  21295.             ...load data from DATA_AREA        - Host
  21296.             PC_ACK                    - Host
  21297.             IDLE                         - FAX
  21298.  
  21299. RELATED FUNCTIONS:     "Voice and DTMF", 
  21300.                 REC_START_COMMAND
  21301.  
  21302.  
  21303. **************************************************************************
  21304. Set_Sample_Rate_Command
  21305. Characteristic    Description
  21306. COMMAND:         Set_Sample_Rate_Command
  21307. CODE:             06AH
  21308. CATEGORY:        Voice - Configuration
  21309. DIRECTION:        Host to JT Fax
  21310. INPUT to JT:        BYTE value in BUFFER_AREA
  21311. OUTPUT from JT:    BOARD_ACK_COMMAND
  21312. DEFAULT:        9600 Hz
  21313. DESCRIPTION:    The SET_SAMPLE_RATE_COMMAND sets the sampling rate of 
  21314. the voice recording. The value placed into the Buffer_Area is an index to the 
  21315. provided sample rates. The following is an EXAMPLE of the available sample rates:
  21316.  
  21317. ---------------
  21318. 1    9600 Hz
  21319. 2    8000 Hz
  21320. 3    7200 Hz
  21321.  
  21322. The value is retained between voice mode sessions.
  21323.  
  21324. EXAMPLE:        IDLE                        - FAX
  21325.             ...load BYTE in buffer_area         - Host
  21326.             SET_SAMPLE_RATE_COMMAND        - Host
  21327.             BOARD_ACK_STATUS            - FAX
  21328.             PC_ACK                    - Host
  21329.             IDLE                        - FAX
  21330.             REC_START_COMMAND            - Host
  21331.             BOARD_ACK_STATUS            - FAX
  21332.             ...load data in DATA_AREA            - FAX
  21333.             ...set number bytes                - FAX
  21334.             LOAD_DATA_COMMAND            - FAX
  21335.                 .
  21336.                 .
  21337.                 .
  21338.             EOV_FLAG                     - FAX
  21339.             ...load data from DATA_AREA        - Host
  21340.             PC_ACK                    - Host
  21341.             IDLE                         - FAX
  21342.  
  21343. RELATED FUNCTIONS:     "Voice and DTMF", 
  21344.                 REC_START_COMMAND
  21345.  
  21346.  
  21347. **************************************************************************
  21348. Set_Slew_Rate_Command
  21349. Characteristic    Description
  21350. COMMAND:         Set_Slew_Rate_Command
  21351. CODE:             06BH
  21352. CATEGORY:        Voice - Configuration
  21353. DIRECTION:        Host to JT Fax
  21354. INPUT to JT:        WORD value in BUFFER_AREA
  21355. OUTPUT from JT:    BOARD_ACK_COMMAND
  21356. DEFAULT:        0
  21357.  
  21358. DESCRIPTION:    The SET_SLEW_RATE_COMMAND sets the slew rate of the 
  21359. voice recording. The value is placed into the Buffer_Area. The Slew rate value 
  21360. determines the fall off time of the voice wave form. The value can be 
  21361. adjusted by the following formula, 
  21362.  
  21363.     SLEW_RATE = [19968/(Sample Rate x fall time in seconds)].
  21364.  
  21365. The value is a 16-bit, positive, two╒s compliment value. The value is retained 
  21366. between voice sessions.
  21367.  
  21368. EXAMPLE:        IDLE                        - FAX
  21369.             ...load BYTE in buffer_area         - Host
  21370.             SET_SLEW_RATE_COMMAND        - Host
  21371.             BOARD_ACK_STATUS            - FAX
  21372.             PC_ACK                    - Host
  21373.             IDLE                        - FAX
  21374.             REC_START_COMMAND            - Host
  21375.             BOARD_ACK_STATUS            - FAX
  21376.             ...load data in DATA_AREA            - FAX
  21377.             ...set number bytes                - FAX
  21378.             LOAD_DATA_COMMAND            - FAX
  21379.                 .
  21380.                 .
  21381.                 .
  21382.             EOV_FLAG                     - FAX
  21383.             ...load data from DATA_AREA        - Host
  21384.             PC_ACK                    - Host
  21385.             IDLE                         - FAX
  21386.  
  21387. RELATED FUNCTIONS:     "Voice and DTMF", 
  21388.                 REC_START_COMMAND
  21389.  
  21390.  
  21391. **************************************************************************
  21392. Set_User_CSI_Command
  21393. Characteristic    Description
  21394. COMMAND:         Set_User_CSI_Command
  21395. CODE:             055H
  21396. CATEGORY:        Configuration 
  21397. DIRECTION:        Host to JT Fax
  21398. INPUT to JT:        Buffer_Area 20 byte CSI
  21399. OUTPUT from JT:    BOARD_ACK_STATUS
  21400. DEFAULT:        Not applicable
  21401.  
  21402. DESCRIPTION:    The SET_USER_CSI_COMMAND provides flexibility in Fax 
  21403. identification. TSI/CSI Fax information for transmit and receive can be 
  21404. modified to contain a specialized message. The format previously available for 
  21405. 9600B allowed the CSI to be placed in the buffer area on transmit and receive. 
  21406. The format of header data in the BUFFER_AREA consisted of:
  21407.  
  21408. Ñ    0-20 CSI
  21409. Ñ    21-54 -other user information
  21410. Ñ    55 - Page number followed by space (transmit only)
  21411. Ñ    56 - 61 padded spaces.
  21412.  
  21413. The CSI was always contained in the header of the transmitted page. In receive 
  21414. mode, the CSI was transmitted to the caller. Since the CSI appeared on the Fax 
  21415. page as a header, there was no way to send different CSI data to the 
  21416. caller/callee. This command allows two different messages to appear to the 
  21417. caller/callee. One message in the CSI and the other in the printed Fax header.
  21418.  
  21419. The SET_USER_CSI mode can only be cleared with a HARD_RESET.
  21420.  
  21421. EXAMPLE:        IDLE                        - FAX
  21422.             SET_USER_CSI_COMMAND             - Host
  21423.             BOARD_ACK_STATUS            - FAX
  21424.             PC_ACK                    - Host
  21425.             IDLE                        - FAX
  21426.  
  21427. RELATED FUNCTIONS:     XMIT_COMMAND, 
  21428.                 "Buffer Area"
  21429.  
  21430.  
  21431. **************************************************************************
  21432. Set_User_TSI_Command
  21433. Characteristic    Description
  21434. COMMAND:         Set_User_TSI_Command
  21435. CODE:             054H
  21436. CATEGORY:        Configuration 
  21437. DIRECTION:        Host to JT Fax
  21438. INPUT to JT:        Buffer_Area 20 byte TSI
  21439. OUTPUT from JT:    BOARD_ACK_STATUS
  21440. DEFAULT:        Not applicable
  21441.  
  21442. DESCRIPTION:    The SET_USER_TSI_COMMAND provides flexibility in fax 
  21443. identification. TSI/CSI fax information for transmit and receive can be 
  21444. modified to contain a specialized message. The format previously available for 
  21445. 9600B allowed the TSI to be placed in the buffer area on transmit and receive. 
  21446. The format of header data in the BUFFER_AREA consisted of:
  21447.  
  21448. Ñ    0-20 TSI
  21449. Ñ    21-54 -other user information
  21450. Ñ    55 - Page number followed by space (transmit only)
  21451. Ñ    56 - 61 padded spaces.
  21452.  
  21453. The TSI was always contained in the header of the transmitted page. In receive 
  21454. mode, the TSI was transmitted to the caller. Since the TSI appeared on the Fax 
  21455. page as a header, there was no way to send different TSI data to the 
  21456. caller/callee. This command allows two different messages to appear to the 
  21457. caller/callee. One message in the TSI and the other in the printed Fax header.
  21458.  
  21459. The SET_USER_TSI mode can only be cleared with a HARD_RESET.
  21460.  
  21461. EXAMPLE:    IDLE                            - FAX
  21462.         SET_USER_TSI_COMMAND                 - Host
  21463.         BOARD_ACK_STATUS                - FAX
  21464.         PC_ACK                        - Host
  21465.         IDLE                            - FAX
  21466.  
  21467. RELATED FUNCTIONS:     XMIT_COMMAND, 
  21468.                 "Buffer Area"
  21469.  
  21470.  
  21471. **************************************************************************
  21472. Silence_Detected_Status
  21473. Characteristic    Description
  21474. COMMAND:         Silence_Detected_Status
  21475. CODE:             06CH
  21476. CATEGORY:        Voice 
  21477. DIRECTION:        JT Fax to Host
  21478. INPUT to JT:        PC_ACK
  21479. OUTPUT from JT:    None
  21480. DEFAULT:        Not applicable
  21481.  
  21482. DESCRIPTION:    The SILENCE_DETECTED_STATUS notifies the Host that a CNG 
  21483. tone was not detected within the user-defined time limit. The notification only 
  21484. occurs if a CNG_DETECT_ON_COMMAND has been previously issued. Once silence 
  21485. has been detected, the JT Fax enters into Voice mode. The Host has the following 
  21486. options
  21487.  
  21488. 1.    voice commands,
  21489. 2.    wait for DTMF detection,
  21490. 3.    return to data and continue call, and
  21491. 4.    return to command and terminate call.
  21492.  
  21493. EXAMPLE:        .
  21494.             .
  21495.             .
  21496.         SILENCE_DETECTED_STATUS            - FAX
  21497.         PC_ACK                        - Host
  21498.         REC_START_COMMAND                - Host
  21499.         BOARD_ACK_STATUS                - FAX
  21500.         ...load data in DATA_AREA                - FAX
  21501.         ...set number bytes                    - FAX
  21502.         LOAD_DATA_COMMAND                - FAX
  21503.             .
  21504.             .
  21505.             .
  21506.         EOV_FLAG                         - FAX
  21507.         ...load data from DATA_AREA            - Host
  21508.         PC_ACK                        - Host
  21509.         IDLE                             - FAX
  21510.  
  21511. RELATED FUNCTIONS:     "Voice and DTMF", 
  21512.                 REC_START_COMMAND, 
  21513.                 DTMF_DIAL, 
  21514.                 DTMF_DETECT_ON_COMMAND
  21515.  
  21516.  
  21517. **************************************************************************
  21518. Software_Reset_Command
  21519. Characteristic    Description
  21520. COMMAND:         Software_Reset_Command
  21521. CODE:             031H
  21522. CATEGORY:        Control
  21523. DIRECTION:        Host to JT Fax
  21524. INPUT to JT:        None
  21525. OUTPUT from JT:    None
  21526. DEFAULT:        Not applicable
  21527.  
  21528. DESCRIPTION:    The SOFTWARE_RESET_COMMAND instructs JT Fax to initiate 
  21529. a soft reset function. The command is placed in the API block location, 
  21530. RESET_BOARD, at offset 51H. When RESET_BOARD is set to a 
  21531. SOFTWARE_RESET_COMMAND, the hardware is reset and all buffers are cleared 
  21532. (soft fonts are not cleared). After the default carrier time is reset to the value 
  21533. contained in BUFFER_AREA, JT Fax is in command state.
  21534.  
  21535. EXAMPLE:        SOFTWARE_RESET_COMMAND         - Host
  21536.             (wait for 3 seconds)
  21537.             IDLE_STATUS                - FAX
  21538.  
  21539. RELATED FUNCTIONS:     HARDWARE_RESET_COMMAND, 
  21540.                 SET_CARRIER_COMMAND
  21541.  
  21542.  
  21543. **************************************************************************
  21544. Speaker_Off_Command
  21545. Characteristic    Description
  21546. COMMAND:         Speaker_Off_Command
  21547. CODE:             03EH
  21548. CATEGORY:        Utility
  21549. DIRECTION:        Host to JT Fax
  21550. INPUT to JT:        None
  21551. OUTPUT from JT:    BOARD_ACK
  21552. DEFAULT:        Not applicable
  21553.  
  21554. DESCRIPTION:    The SPEAKER_OFF_COMMAND is used when the Host wants 
  21555. the speaker off for VOICE setup or when using the Utility commands. In 
  21556. normal JT Fax operation the speaker is controlled by the SPEAKER field of the 
  21557. API block.
  21558.  
  21559. EXAMPLE:        SPEAKER_OFF_COMMAND            - Host
  21560.             BOARD_ACK_STATUS            - FAX
  21561.             PC_ACK                    - Host
  21562.             IDLE                        - FAX
  21563.  
  21564. RELATED FUNCTIONS:     SPEAKER_ON_COMMAND
  21565.  
  21566.  
  21567. **************************************************************************
  21568. Speaker_On_Command
  21569. Characteristic    Description
  21570. COMMAND:         Speaker_On_Command
  21571. CODE:             03DH
  21572. CATEGORY:        Utility
  21573. DIRECTION:        Host to JT Fax
  21574. INPUT to JT:        None
  21575. OUTPUT from JT:    BOARD_ACK
  21576. DEFAULT:        Not applicable
  21577.  
  21578. DESCRIPTION:    The SPEAKER_ON_COMMAND is used when the Host wants 
  21579. the speaker on for VOICE setup or when using the Utility commands. In normal 
  21580. JT Fax operation the speaker is controlled by the SPEAKER field of the API block.
  21581.  
  21582. EXAMPLE:        SPEAKER_ON_COMMAND            - Host
  21583.             BOARD_ACK_STATUS            - FAX
  21584.             PC_ACK                    - Host
  21585.             IDLE                        - FAX
  21586.  
  21587. RELATED FUNCTIONS:     SPEAKER_OFF_COMMAND
  21588.  
  21589.  
  21590. **************************************************************************
  21591. Xmit_Command
  21592. Characteristic    Description
  21593. COMMAND:         Xmit_Command
  21594. CODE:             01H
  21595. CATEGORY:        FAX Transmit
  21596. DIRECTION:        Host to JT Fax
  21597. INPUT to JT:        Phone number in buffer area (if desired)
  21598.             Header in buffer area
  21599.             FAX data in swap buffer
  21600.             EOPFLAG    
  21601.             EOTFLAG
  21602. OUTPUT from JT:    LOAD_DATA_COMMAND
  21603.             BOARD_ACK
  21604.             SUCCESSFUL_TRANSMIT
  21605.             BUSY
  21606.             RING
  21607.             status messages
  21608. DEFAULT:        Not applicable
  21609.  
  21610. DESCRIPTION:    This API is the FAX transmit command. The transmit 
  21611. command operates the speaker, dials the phone number, and transfers the fax. 
  21612. After the dial is completed, the Host is prompted for the header information. 
  21613. This header is placed on the top page of the fax and a portion is used for the 
  21614. TSI. Once the header is received, the host is prompted for the data with the 
  21615. LOAD_DATA_COMMAND. The data is passed in the DATA_AREA location. The Host 
  21616. must issue a PC_ACK when all the data is loaded into DATA_AREA. Further 
  21617. LOAD_DATA_COMMANDs are issued until the fax transfer is complete. The Host 
  21618. terminates the transfer with an EOT command. 
  21619.  
  21620. The time constraint placed on the Host for data transfer is based on the format 
  21621. of the data. In the JT Fax format, approximately 10k of data can be buffered on 
  21622. the FAX. So, timing during transmission is only critical during the first initial 
  21623. stages of buffering. The initial stages require data to be loaded as fast as 
  21624. possible. 
  21625.  
  21626. If the data requires translation, the timing is more critical. The Host buffers 2 
  21627. initial loads. The worst case scenario for ASCII and PCX is approximately 5 
  21628. seconds between data loads at 14400 bps before data is lost. 
  21629.  
  21630. The data placed in DATA_AREA may be in one of three formats. These are:
  21631.  
  21632.     ASCII_FORMAT    00H
  21633.     PCX_3_FORMAT    01H
  21634.     JT_FAX_FORMAT    63H
  21635.  
  21636. The formats are discussed in detail in Chapter 7.
  21637.  
  21638.  
  21639. Characteristic    Description
  21640.  
  21641. EXAMPLE:        IDLE                        - FAX
  21642.             (load phone number in buffer area)     - Host
  21643.             (load baud rate if desired)         - Host
  21644.             XMIT_COMMAND                 - Host
  21645.             BOARD_ACK_STATUS            - FAX
  21646.             ...load header                - Host
  21647.             PC_ACK                     - Host
  21648.             LOAD_DATA_COMMAND            - FAX
  21649.             ...load data and set format            - Host
  21650.             ...set number bytes                - Host
  21651.             PC_ACK                     - Host
  21652.             LOAD_DATA_COMMAND            - FAX
  21653.             ...load data                     - Host
  21654.             PC_ACK                     - Host
  21655.                 .
  21656.                 .
  21657.                 .
  21658.             EOT                         - Host
  21659.             TRANSMIT                    - FAX
  21660.             BOARD_ACK                    - FAX
  21661.             PC_ACK                    - Host
  21662.             IDLE                         - Host
  21663.  
  21664. When the Host is transmitting multiple pages and wants to control the page 
  21665. breaks, an EOP is issued instead of PC_ACK. To control the length of the page 
  21666. the min_page parameter should be used.
  21667.  
  21668. RELATED FUNCTIONS:     IDLE, EOT, 
  21669.                 PC_ACK, 
  21670.                 BOARD_ACK, 
  21671.                 SET_CARRIER_COMMAND, 
  21672.                 FAX_MODE_COMMAND, 
  21673.                 BUSY_COMMAND, 
  21674.                 ENHANCED_MODE_ON_COMMAND, 
  21675.                 dial modifiers
  21676.  
  21677.  
  21678. ==========================================================================
  21679. Chapter 6
  21680. Shared Memory Interface Description
  21681.  
  21682.  
  21683. All functions, status codes, return codes, and data pass through the JT Fax 
  21684. shared memory interface. The interface address is selectable in 4k increments 
  21685. and is located between memory address 8000H to 0FFFFH (see the Hayes JT Fax 
  21686. 14400B Dual Installation Guide).
  21687.  
  21688. If the C programming language is used for the Host program, then the 
  21689. compiler should pack the API structure on byte boundaries. This is 
  21690. accomplished in Microsoft C by using the following statement:
  21691.  
  21692.     #pragma pack (1)
  21693.  
  21694.  
  21695. **************************************************************************
  21696. Shared Memory Interface Structure
  21697. The shared memory interface structure is organized as follows:
  21698.  
  21699. Note: This map is used with Fax A at offset 0 and Fax B at offset 800H.
  21700.  
  21701. Offset Length    Name            Usage/Description
  21702. --------------------------------------------------------------------------------------
  21703. 0000H-0005H    ID            Location of board address
  21704. 0005H-0001H    COMMAND        Commands and Status
  21705. 0006H-0001H    RING_COUNT    Ring to answer on
  21706. 0007H-0001H    CALL_MODE        Transmit/Receive
  21707. 0008H-0001H    FILE_TYPE         ASCII, PCX, JT Fax
  21708. 0009H-0001H    XMIT_FONT         Resolution, Font number
  21709. 000AH-0001H    MIN_PAGE         Force 11 inch page flag
  21710. 000BH-003DH    BUFFER_AREA     Phone numbers & headers
  21711. 0048H-0002H    SECONDS        Length of connection
  21712. 004AH-0001H    SPEAKER        on, off, on till connect
  21713. 004BH-0001H    RET_CODE         Completion code
  21714. 004CH-0002H    PAGES         Number of pages sent
  21715. 004EH-0002H    DATA_LEN         Length of valid data
  21716. 0050H-0001H    BAUD_RATE        2400, 4800, 7200, 9600, 12000, 14400 baud
  21717. 0051H-0001H    RESET_BOARD    Reset the board
  21718. 0052H-0001H    STATUS_CODE    Extended status
  21719. 0053H-0001H    LINE_COUNT        Number of lines transmitted
  21720. 0054H-0001H    RCV_FILE_TYPE    Receive file type
  21721. 0055H-0002H    RCV_LINE        Lines per page received (ASCII)
  21722. 0057H-0001H    RESERVED        Not used at this time
  21723. 0058H-07A8H    DATA_AREA        Used for file data
  21724.  
  21725. The following paragraphs describe the Shared Memory Interface fields:
  21726.  
  21727. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21728. ID    Field where the product keyword is located. Set by Board. 
  21729.  
  21730. The ID field is used to locate the board at the start of a program. Memory can be 
  21731. searched from segment 8000H to F000H for the 'ASHER' keyword at each 2K 
  21732. boundary. In the JT Fax 14400B tool kit, FINDFAX.ASM file contains an 
  21733. assembler routine that locates the 'ASHER' string. This allows the Host program 
  21734. to locate the board in memory without knowing the exact memory location.
  21735.  
  21736. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21737. COMMAND    Field for command handshakes. Set by Host and JT Fax. 
  21738.  
  21739. The COMMAND byte is used to pass most commands to the board and some status 
  21740. bytes are returned through this byte. The status bytes are JT Fax 9600B 
  21741. compatible codes described in Chapter 3.
  21742.  
  21743. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21744. RING_COUNT    Field for ring to answer count. Set by Host.
  21745.  
  21746. Ring_count is a status byte used for the ring-to-answer-on count. The count 
  21747. allows the board to answer the call when a certain number of rings is reached. 
  21748. This byte should be set to 0FH if ring detection is not desired. For originate 
  21749. only applications and manual answers, a status command RING is provided in 
  21750. the first byte of buffer area. 
  21751.  
  21752. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21753. CALL_MODE     Field for answer or receive mode. Set by Host.
  21754.  
  21755. Call_mode should be set prior to making or receiving a call. The call modes 
  21756. currently supported by the board are:
  21757.  
  21758.     Code    Description
  21759.     ---------------------------------
  21760.     00H    Call to transmit a fax
  21761.     02H    Answer to receive a fax
  21762.  
  21763. Note: This option is currently not supported. 
  21764.  
  21765. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21766. FILE_TYPE    Field for specific file type. Set by Host.
  21767.  
  21768. File_type should be set prior to a transmit. The file_type parameter determines 
  21769. the processing necessary for the JT Fax 14400B Dual to convert data to T.4 
  21770. format. The field can have the following values:
  21771.  
  21772.     Code    Description
  21773.     -------------------------
  21774.     00H    ASCII_FORMAT
  21775.     01H    PCX _3_FORMAT
  21776.     63H     JT_Fax_FORMAT 
  21777.  
  21778. For additional information see File Formats in Chapter 7.
  21779.  
  21780. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21781. XMIT_FONT    Field for JT Fax font resolution. Set by Host.
  21782.  
  21783. Xmit_font field is only used to transmit of data. The field should be set prior to 
  21784. all transmits, and is used to select the font for ASCII and high/low resolution 
  21785. for other types of transmits. If ASCII data is being sent in any font other than 
  21786. font0 (80/low) then that font must be loaded onto the board prior to the 
  21787. transmit. If any other form of data is being sent (i.e., PCX, JT Fax) then 00H and 
  21788. 01H should be used to indicate the resolution.
  21789.  
  21790.     Code    Description
  21791.     ----------------------------------------------
  21792.     00H     80 character/line low resolution
  21793.     01H     80 character/line high resolution
  21794.     02H     132 character/line low resolution
  21795.     03H    132 character/line high resolution
  21796.  
  21797. For additional information see JT Fax Formats section Chapter 7.
  21798.  
  21799. MIN_PAGE    Field set for page minimum length. Set by Host.
  21800.  
  21801. If min_page is zero when the transmit command is issued, all pages will be 
  21802. forced to be at least 11 inches long. If MIN_PAGE is set, the number of lines in 
  21803. linecount is used.
  21804.  
  21805. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21806. BUFFER_AREA    Field for FAX ID, phone number. Set by Host, JT Fax and 
  21807. status messages.
  21808.  
  21809. Buffer_area is an area used to pass the phone number to be dialed, the header 
  21810. line to put on the top of each page, fax ID and enhanced return codes. The 
  21811. default time-out-after-dial (binary) can also be loaded into buffer_area on 
  21812. start up or can be configured by using the SET_CARRIER_COMMAND function.
  21813.  
  21814. For more information on buffer area see section Appendix E.
  21815.  
  21816. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21817. SECONDS     Field for time of phases. Set by JT Fax.
  21818.  
  21819. Seconds is a timer that resets to zero at the start of a call or answer and again 
  21820. after receiving the first carrier from the other end (to get a true connection 
  21821. time). The host has the option to reset the timer.
  21822.  
  21823. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21824. SPEAKER     Field for speaker control. Set by Host.
  21825.  
  21826. The Speaker byte controls operation of the speaker as follows:
  21827.  
  21828.     Code    Description
  21829.     ---------------------
  21830.     00H     SPKR_ALWAYS_ON
  21831.     01H     SPKR_ON_TILL_CONNECT
  21832.     02H     SPKR_ALWAYS_OFF
  21833.  
  21834. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21835. RET_CODE     Field for errors and JT Fax 9600B status. Set by JT Fax.
  21836.  
  21837. Ret_code is the error return code from a fax operation. For compatibility, the 
  21838. two 9600B status codes are returned in this field. The values are:
  21839.  
  21840.     Code    Description
  21841.     -----------------------------
  21842.     0    Successful Transmit
  21843.     1    No Dial Tone
  21844.     2    No Carrier
  21845.     3    Busy
  21846.     7    Clipped
  21847.  
  21848. The Handshaking/Compatibility return codes are:
  21849.  
  21850.     Code    Description
  21851.     -------------------------------
  21852.     128    Bad DIS REC
  21853.     129    Bad Training
  21854.     130    Phase B Error
  21855.     131    Bad MPS Response
  21856.     132    Bad MCF Response
  21857.     133    Bad DSC Response
  21858.     134    Phase D Error
  21859.     135    No PC Acknowledge
  21860.     136    No Data Received
  21861.     137    Page Error on Receive
  21862.     138     Successful Receive
  21863.  
  21864. Other Return Codes are described in Appendix B.
  21865.  
  21866. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21867. PAGES    Field for number of pages. Set by JT Fax.
  21868.  
  21869. Pages is a word that keeps a running count of the number of pages sent. It is 
  21870. updated during transmission and reception.
  21871.  
  21872. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21873. DATA_LEN     Field for number of bytes in DATA_AREA Set by Host and JT Fax.
  21874.  
  21875. Fax Data_len is a word that holds the number of data bytes valid in the 
  21876. data_area. It must be loaded prior to a load_data command.
  21877.  
  21878. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21879. BAUD_RATE     Field for connect speed. Set by Host and JT Fax.
  21880.  
  21881. Baud_rate is a byte that shows the connection speed. At the start of each 
  21882. transmission it defaults to 14400 BPS. For compatibility, the receive defaults to 
  21883. 9600 BPS. 14400 BPS receive can be obtained by issuing the FAX_144_MODE_ON 
  21884. API. The BAUD_RATE field has the following values:
  21885.  
  21886.     Code    Description
  21887.     ---------------------
  21888.     00H    2400 BPS
  21889.     01H    4800 BPS
  21890.     02H    7200 BPS
  21891.     03H    9600 BPS
  21892.     04H     12000 BPS
  21893.     05H    14400 BPS 
  21894.  
  21895. The baud rate may be monitored for correct connect speed.
  21896.  
  21897. Note: This rate may also be modified by the host for transmit speed.
  21898.  
  21899. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21900. RESET_BOARD    Field for reset. Set by Host.
  21901.  
  21902. This byte is used to reset the board after an error, or it can be done on exit to 
  21903. set the board to a known state. The API HARDWARE_RESET_COMMAND in this 
  21904. byte causes a full reset of the board, including memory testing and clearing 
  21905. and can take 5-6 seconds to complete. 
  21906.  
  21907. The API SOFTWARE_RESET_COMMAND causes a partial reset and does not clear 
  21908. memory. It disconnects the phone line and returns to command state.
  21909.  
  21910. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21911. STATUS_CODE    Field for enhanced status. Set by JT Fax.
  21912.  
  21913. The status code field provides additional status for Fax transmission.
  21914.  
  21915. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21916. LINE_COUNT    Field for number lines. Set by Host.
  21917.  
  21918. Line_count is a byte that gives the number of lines to put on the page before a 
  21919. page break. The function is only applicable when MIN_PAGE  is set to 0 and 
  21920. during ASCII transmits.
  21921.  
  21922. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21923. RECV_FILE_TYPE    Field used to indicate the type of file. Set by Host.
  21924.  
  21925. The values are:
  21926.  
  21927.     Code    Description
  21928.     -------------------------
  21929.     01H    PCX_3_FORMAT
  21930.     63H    JT_FAX_FORMAT
  21931.  
  21932. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21933. RECV_LINE    Field used to indicate the number of PCX lines recieved. Set by JT 
  21934. Fax.
  21935.  
  21936. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21937. DATA_AREA    Field for data transfer. Set by Host.
  21938.  
  21939. This is the area used to buffer data out to the board. It is 1960 bytes long.
  21940.  
  21941.  
  21942. ==========================================================================
  21943. Chapter 7
  21944. File Formats
  21945.  
  21946.  
  21947. This chapter describes the JT Fax file conversion formats. These formats 
  21948. include:
  21949.  
  21950. Ñ    PCX
  21951. Ñ    ASCII
  21952. Ñ    JT Fax.
  21953.  
  21954.  
  21955. *****************************************************************************
  21956. PCX Conversion
  21957. The PCX conversion supplied with JT Fax 14400B Dual is a receive "on-the-
  21958. fly" conversion at all speeds supported. The data presented to the Host 
  21959. includes a PCX 3 header and data. All data is in black and white, 1-plane, 1 
  21960. bit-per-pixel, xmax (horizontal axis) = 1727; color is not supported.
  21961.  
  21962. Additional fields are provided for the PCX receive. These new fields are 
  21963. receive type (BYTE) at offset 55H and receive_lines at offset 56H (WORD).
  21964.  
  21965. The following commands pertain to PCX conversion:
  21966.  
  21967.     REC_PCX_ON_COMMAND
  21968.     REC_PCX_OFF_COMMAND (default)
  21969.  
  21970. The length of the PCX file (in lines) is reported in the new variable named 
  21971. RECV_LINES and is correct when the EOT is received from the fax. The 
  21972. RECV_LINES count should be placed in the PCX file by the Host. The offset into 
  21973. the PCX file for this count is 10 (zero relative) and is WORD value. The 
  21974. PCX_RECV_ON_COMMAND must be issued after setting Recvfile type to PCX.
  21975.  
  21976.  
  21977. **************************************************************************
  21978. ASCII
  21979. The following sections describe ASCII font management in JT Fax.
  21980.  
  21981. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21982. Fonts
  21983. The JT Fax 14400B Dual board gives the user the flexibility of 4 different 
  21984. fonts. These fonts are identified as font.0, font.1, font.2, and font.3. Font.0 
  21985. is the default font and Fonts 0-3 are available as user defined fonts. The 
  21986. fonts are designed in two resolutions, low and high resolution. Low resolution 
  21987. is defined as an 18-bit by 16-row character cell. High resolution is defined 
  21988. by a 18-bit by 32-row character cell. All fonts are available in the JT FAX 
  21989. software toolkit under the files font.0, font.1, font.2, and font.3. Contact 
  21990. Hayes Customer Service, see Appendix I.
  21991.  
  21992. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  21993. Mode
  21994. There are two different modes for resolution, normal mode and compressed 
  21995. mode. In normal mode the character cell consists of 18 bits per character 
  21996. cell line. Normal mode is the default mode for the default font used by JT 
  21997. Fax. The JT Fax compressed mode consists of a character cell that is 13 
  21998. bits-per-character line. Both modes support 80 and 132 columns. 
  21999.  
  22000. Below is a list of these fonts with their corresponding resolution.
  22001.  
  22002. Font            Name        Resolution
  22003. -----------------------------------------------------------
  22004. Low res         faxfont.0    200x100 80 columns
  22005. normal mode            <default>
  22006. High res         faxfont.1    200x200 132 columns
  22007. normal mode
  22008. Low res         faxfont.2    200x100 80 columns
  22009. compressed
  22010. High res        faxfont.3    200x200 132 columns
  22011. compressed
  22012.  
  22013. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22014. Font Modifications
  22015. To modify these fonts, the programmer can execute the font generation 
  22016. program, fontcon.com. This program can be downloaded in the file 
  22017. faxfont.arc (contact Hayes Customer Service, see Appendix I). If the user 
  22018. wishes to create a custom font file without the use of the fontcon.com 
  22019. program, the fonts must be bit mapped as explained in the following 
  22020. paragraphs.
  22021.  
  22022. The bit map is arranged in a "pixel line" format. The character must be 
  22023. converted into a bit-format byte aligned. Character tables start with the 
  22024. ASCII character for a space " " and end with an ASCII character for a "~". 
  22025. The character is assembled into a 4x16 byte matrix in low resolution and a 
  22026. 4x32 byte matrix for high resolution. All parts of the character cell must be 
  22027. represented.
  22028.  
  22029. In lower case characters, the additional white space above the character 
  22030. must be included. For example, the lower case ASCII 'a' has several lines of 
  22031. white space above the 'a'. This must be included.
  22032.  
  22033. Within each matrix cell, the font character is defined by 4 bytes per line by:
  22034.  
  22035.     low resolution = 18 bits < 22 bits unused >
  22036.     high resolution = 13 bits < 27 bits unused >.
  22037.  
  22038. All unused bits are ignored and are set to a 0xff.
  22039.  
  22040. For example, a '!' in low-resolution normal mode 4x16 80-column, with a bit 
  22041. set for white would be as follows:
  22042.  
  22043. Row    Bitmap                Row    Bitmap
  22044. --------------------------------------------------------------------------------
  22045. 1    0xff, 0xff, 0xc0, 0xff (top space)    9    0xff, 0xf9, 0xc0, 0xff (char)
  22046. 2    0xff, 0xf0, 0xc0, 0xff (char)    10    0xff, 0xff, 0xc0, 0xff (char)
  22047. 3    0xff, 0xf0, 0xc0, 0xff (char)    11    0xff, 0xff, 0xc0, 0xff (char)
  22048. 4    0xff, 0xf0, 0xc0, 0xff (char)    12    0xff, 0xf9, 0xc0, 0xff (char)
  22049. 5    0xff, 0xf0, 0xc0, 0xff (char)    13    0xff, 0xff, 0xc0, 0xff (space)
  22050. 6    0xff, 0xf0, 0xc0, 0xff (char)    14    0xff, 0xff, 0xc0, 0xff (space)
  22051. 7    0xff, 0xf0, 0xc0, 0xff (char)    15    0xff, 0xff, 0xc0, 0xff (space)
  22052. 8    0xff, 0xf9, 0xc0, 0xff (char)    16    0xff, 0xff, 0xc0, 0xff (space)
  22053.  
  22054. The JT Fax font generation software offers the user the ability to create or 
  22055. modify the ASCII coded fonts used by the JT Fax products. The user will need 
  22056. to download FAXFONT.ARC and FONT.ARC from the HAYES BBS (see Appendix 
  22057. I).
  22058.  
  22059. For development purposes, the programmer is advised to create a font sub-
  22060. directory containing four sub-directories (one for each font), and copy the 
  22061. proper files into each sub-directory as follows:
  22062.  
  22063. Directory    Contents
  22064. ---------------------------------------------------------------
  22065. Font        All directories below.
  22066. Font 0    Low resolution normal 80 columns. Include
  22067.         FONT0.EXE, FONTSCRN, and FAXFONT.0.
  22068. Font 1    High resolution normal 80 columns. Include
  22069.         FONT1.EXE, FONTSCRN, and FAXFONT.1.
  22070. Font 2    Low resolution compressed 132 columns.
  22071.         Include FONT2.EXE, FONTSCRN, and FAXFONT.2.
  22072. Font 3    High resolution compressed 132 columns.
  22073.         Include FONT3.EXE, FONTSCRN, and FAXFONT.3.
  22074.  
  22075. To use the graphics editor, move to a font sub-directory, and type 
  22076. FONTX.EXE, where X is the font number to modify. The editor then appears, 
  22077. along with some instructions.
  22078.  
  22079.     EXAMPLE: C:/font/2
  22080.     followed by: font2
  22081.  
  22082. This example illustrates the suggested sub-directory structure and the 
  22083. procedure for editing font2 (low resolution compressed). The FONTSCRN file
  22084. is a graphic overlay for the font editor.
  22085.  
  22086. When the "Which character to edit" prompt is displayed, you may enter a 
  22087. keyboard character. To enter a non-keyboard character, find its ASCII code, 
  22088. hold down the <alt> key and enter the ASCII code with the numeric keypad.
  22089.  
  22090. To move about in the font field, use the cursor control keys. The instructions 
  22091. appearing on the screen guide you to edit a font. When the font is complete, 
  22092. enter <F1> to save it. The high resolution fonts allow editing the top and bottom 
  22093. half of each pixel in the font field. In the high resolution fonts, use T and B to 
  22094. paint or delete the Top or Bottom of a font element. As a font is modified, a 
  22095. FAXFONT.TMP file is created.
  22096.  
  22097. FONTCON.COM is then converts the FAXFONT.TMP file into the format used 
  22098. by the JT FAX software. The syntax is:
  22099.  
  22100.     FONTCON FAXFONT.TMP FAXFONT.X
  22101.  
  22102. The FAXFONT.X is the new file you created, and is now ready to be copied 
  22103. into your FAX directory for testing.
  22104.  
  22105.     EXAMPLE: c:\font\2> fontcon faxfont.tmp faxfont.2
  22106.  
  22107. The example converts the FAXFONT.TMP from sub-directory FONT2 and 
  22108. converts it to FAXFONT.2.
  22109.  
  22110. Font generation may require several iterations of some character. This is 
  22111. normal, as fonts displayed on a CRT appear different than when received on a 
  22112. Fax machine.
  22113.  
  22114. Note: Only one soft font can be downloaded. This is the font used by the Fax. Only 
  22115. one soft font at any given time can be downloaded and used. Soft Font cannot be 
  22116. used with the OEM_CODE command.
  22117.  
  22118.  
  22119. **************************************************************************
  22120. JT Fax Format
  22121. The JT Fax file format is based on a modified Huffman coding used in Group 3 
  22122. facsimile preceded by an eight byte header. The Huffman coding schema is in Appendix A.)
  22123. The header format is as follows:
  22124.  
  22125.     Offset        Explanation
  22126.     ---------------------------------------------------------------
  22127.     0         A zero byte
  22128.     1        Either 0 or 40H. If the 40H bit is set, then the file is a
  22129.             high resolution (200x200) file.
  22130.     2        reserved
  22131.     3        reserved
  22132.     4        reserved
  22133.     5        reserved
  22134.     6        reserved
  22135.     7        reserved
  22136.  
  22137. The Huffman data format is a data compression method based on run length 
  22138. encoding. One hundred and twenty-eight run lengths (64 white and 64 black), 
  22139. thirteen make-up codes, and an end-of-line (EOL) are defined by the ITU-T. 
  22140. These codes are available in Appendix A.
  22141.  
  22142. The JT Fax only supports files of 1728 pixels per line, the only required 
  22143. format for a Group 3 fax machine. The EOL command is used to end every line 
  22144. in a fax-format file.
  22145.  
  22146. It consists of 11 zero bits and a one bit. Additional zero bits, or fill bits, can 
  22147. be inserted prior to the EOL command. Although some JT Fax files use fill 
  22148. bits so that each line of fax data begins on a byte boundary, inclusion of fill 
  22149. bits is not necessary for any JT Fax family product.
  22150.  
  22151. The JT Fax file is organized as follows:
  22152.  
  22153.     Eight byte header
  22154.     EOL
  22155.     Huffman compressed line
  22156.     EOL
  22157.     Huffman compressed line
  22158.     EOL
  22159.         .
  22160.         .
  22161.         .
  22162.     Huffman compressed line
  22163.     EOL
  22164.  
  22165. Huffman compressed lines are generated using the tables in Appendix A. 
  22166. Huffman compression assumes that every line begins with a white run length, 
  22167. alternates to a black, back to white, up to an EOL. If a run length is greater 
  22168. than 63, then a make-up code is used. A make-up code is always followed by 
  22169. a run length of the same color, even if the length is zero. The Huffman codes 
  22170. are sent left-bit first (as seen in the table), but must be assembled so that 
  22171. the low-order bit in each byte is the first to send. The following example 
  22172. demonstrates this process:
  22173.  
  22174. Assume the input line of data is:
  22175.  
  22176.     30 white, 10 black, 130 white, 192 black, 1366 white
  22177.  
  22178. From the table in Appendix A:
  22179.  
  22180.     30 white = 00000011 
  22181.     10 black = 0000100
  22182.     130 white = 128 white = 10010 (make up-code) + 2 white = 0111
  22183.     192 black = 192 black = 010111(make-up code) + 0 black = 0000110111
  22184.     1366 white = 1344 white = 011011010 (make-up code) + 22 white = 
  22185. 0000011
  22186.     EOL = 000000000001
  22187.  
  22188. Put the bits in a stream:
  22189.  
  22190.     00000011000010010010011101011100001101110110110100000011
  22191.     000000000001
  22192.  
  22193. Break them out, eight bits at a time:
  22194.  
  22195.     00000011-00001001-00100111-01011100-00110111-01101101-
  22196.     00000011-00000000-0001
  22197.  
  22198. Reverse the bit-order:
  22199.  
  22200.     11000000-10010000-11100100-00111010-11101100-10110110-
  22201.     11000000-00000000-xxxx1000
  22202.  
  22203. The xxxx could be the first four bits from the next Huffman stream of data, 
  22204. or four additional 0s could be inserted on the other side of the 1, making the 
  22205. last byte 10000000. The final hex code for this line is:
  22206.  
  22207.     C0 90 E4 3A EC B6 C0 00 80
  22208.  
  22209.  
  22210. ==========================================================================
  22211. Appendix A
  22212. ITU-T T.4 Huffman Encoding
  22213.  
  22214.  
  22215. This appendix defines the T.4 Huffman encoding used in JT Fax.
  22216.  
  22217. Run 
  22218. Length    White Code        Black Code
  22219. ------------------------------------------------
  22220. 0000        00110101        0000110111
  22221. 0001        000111        010
  22222. 0002        0111            11
  22223. 0003        1000            10
  22224. 0004        1011            011
  22225. 0005        1100            0011
  22226. 0006        1110            0010
  22227. 0007        1111            00011
  22228. 0008        10011            000101
  22229. 0009        10100            000100
  22230. 0010        00111            0000100
  22231. 0011        01000            0000101
  22232. 0012        001000        0000111
  22233. 0013        000011        00000100
  22234. 0014        110100        00000111
  22235. 0015        110101        000011000
  22236. 0016        101010        0000010111
  22237. 0017        101011        0000011000
  22238. 0018        0100111        0000001000
  22239. 0019        0001100        00001100111
  22240. 0020        0001000        00001101000
  22241. 0021        0010111        00001101100
  22242. 0022        0000011        00000110111
  22243. 0023        0000100        00000101000
  22244. 0024        0101000        00000010111
  22245. 0025        0101011        00000011000
  22246. 0026        0010011        000011001010
  22247. 0027        0100100        000011001011
  22248. 0028        0011000        000011001100
  22249. 0029        00000010        000011001101
  22250. 0030        00000011        000001101000
  22251. 0031        00011010        000001101001
  22252. 0032        00011011        000001101010
  22253. 0033        00010010        000001101011
  22254. 0034        00010011        000011010010
  22255. 0035        00010100        000011010011
  22256. 0036        00010101        000011010100
  22257. 0037        00010110        000011010101
  22258. 0038        00010111        000011010110
  22259. 0039        00101000        000011010111
  22260. 0040        00101001        000001101100
  22261. 0041        00101010        000001101101
  22262. 0042        00101011        000011011010
  22263. 0043        00101100        000011011011
  22264. 0044        00101101        000001010100
  22265. 0045        00000100        000001010101
  22266. 0046        00000101        000001010110
  22267. 0047        00001010        000001010111
  22268. 0048        00001011        000001100100
  22269. 0049        01010010        000001100101
  22270. 0050        01010011        000001010010
  22271. 0051        01010100        000001010011
  22272. 0052        01010101        000000100100
  22273. 0053        00100100        000000110111
  22274. 0054        00100101        000000111000
  22275. 0055        01011000        000000100111
  22276. 0056        01011001        000000101000
  22277. 0057        01011010        000001011000
  22278. 0058        01011011        000001011001
  22279. 0059        01001010        000000101011
  22280. 0060        01001011        000000101100
  22281. 0061        00110010        000001011010
  22282. 0062        00110011        000001100110
  22283. 0063        001101000        00001100111
  22284. 0064        11011            0000001111
  22285. 0128        10010            000011001000
  22286. 0192        010111        000011001001
  22287. 0256        0110111        000001011011
  22288. 0320        00110110        000000110011
  22289. 0384        00110111        000000110100
  22290. 0448        01100100        000000110101
  22291. 0512        01100101        000000110110
  22292. 0576        01101000        000001101101
  22293. 0640        01100111        000000100100
  22294. 0704        011001100        000000100101
  22295. 0768        011001101        000000100110
  22296. 0832        011010010        000000100111
  22297. 0896        011010011        000000111000
  22298. 0960        011010100        000000111001
  22299. 1024        011010101        000000111010
  22300. 1088        011010110        000000111011
  22301. 1152        011010111        000000111010
  22302. 1216        011011000        000000111011
  22303. 1280        011011001        000000101000
  22304. 1344        011011010        000000101001
  22305. 1408        011011011        000000101010
  22306. 1472        010011000        000000101011
  22307. 1536        010011001        000000101100
  22308. 1600        010011010        000000101101
  22309. 1664        011000        000000110010
  22310. 1728        010011011        000000110011
  22311. EOL        000000000001    000000000001
  22312.  
  22313.  
  22314. ==========================================================================
  22315. Appendix B
  22316. Return Codes
  22317.  
  22318.  
  22319. The following paragraphs describe the correct time to read the RET_CODE 
  22320. field of the JT Fax API window.
  22321.  
  22322. When the PC is finished receiving data from the JT Fax board, then the JT Fax 
  22323. issues an EOT in the Command field. The JT Fax board sends a BOARD_ACK in 
  22324. the Command field when the transmission is complete. At this time the PC 
  22325. should read the RET_CODE field of the JT Fax API window. If the command 
  22326. field changes to an error, the RET_CODE is valid.
  22327.  
  22328. Some of the errors are fatal and some are operational. Fatal errors halt 
  22329. execution with an error flag while operational errors are less severe and 
  22330. will allow the Fax operation to continue. Operational errors are read at the 
  22331. end of a receive or transmit. Once an error occurs, Buffer area [0] can be 
  22332. checked for additional return code information. If available, the byte will be 
  22333. non-zero. Also, the status field can be checked to determine the state of the 
  22334. JT Fax.
  22335.  
  22336. The following paragraphs describe the JT Fax Return Codes.
  22337.  
  22338. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22339. RETURN_CODE: 00    MNEMONIC: SUCCESSFUL_TRANSMIT
  22340.  
  22341.     DESCRIPTION: A successful transmit occurred with no errors. This is a JT Fax
  22342.     compatibility code.
  22343.  
  22344.     RECOMMENDED ACTION: Fax was good.
  22345.  
  22346. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22347. RETURN_CODE: 01    MNEMONIC: NO_DIALTONE
  22348.  
  22349.     DESCRIPTION: A dial command was issued with either a 'W' dial modifier or a wait for
  22350.     dialtone in byte 0 of the dial string. Fatal error.
  22351.  
  22352.     RECOMMENDED ACTION: Check cable connections and redial.
  22353.  
  22354. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22355. RETURN_CODE: 02    MNEMONIC: NO_CARRIER
  22356.  
  22357.     DESCRIPTION: A complete connection was not established. A NO_CARRIER error
  22358.     appears after the dial and before the Phase A completion. JT Fax compatibility. Fatal
  22359.     error.
  22360.  
  22361.     RECOMMENDED ACTION: Check phone number and retry call. Try enabling enhanced
  22362.     mode to determine the exact cause of error.
  22363.  
  22364. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22365. RETURN_CODE: 03    MNEMONIC: BUSY
  22366.  
  22367.     DESCRIPTION: The called phone number was busy or a circuit was busy. Fatal error.
  22368.  
  22369.     RECOMMENDED ACTION: Retry call.
  22370.  
  22371. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22372. RETURN_CODE: 04    MNEMONIC: PC_COMM_ERROR
  22373.  
  22374.     DESCRIPTION: Invalid response or command while in command state. Fatal error.
  22375.  
  22376.     RECOMMENDED ACTION: Check Host for problems.
  22377.  
  22378. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22379. RETURN_CODE: 07    MNEMONIC: CLIP
  22380.  
  22381.     DESCRIPTION: An ASCII file was converted to T.4 data and a line was longer than 216
  22382.     bytes (including spaces and tabs). This error only occurs during a FILETYPE - ASCII
  22383.     conversion during transmit. The error does not cause an abort to the transmit.
  22384.     Operational error.
  22385.  
  22386.     RECOMMENDED ACTION: Continue with fax or terminate call with a SOFT_RESET.
  22387.     Modify file before retransmitting.
  22388.  
  22389. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22390. RETURN_CODE: 10    MNEMONIC: DIALING_ERROR
  22391.  
  22392.     DESCRIPTION: A dial command was issued and one of the characters in the dial string
  22393.     was invalid. Fatal error.
  22394.  
  22395.     RECOMMENDED ACTION: Check dial string and redial.
  22396.  
  22397. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22398. RETURN_CODE: 12    MNEMONIC: FONT_TOO_LARGE
  22399.  
  22400.     DESCRIPTION: The soft font file was too large for the soft font area. This error could
  22401.     also apply to the OEM code load. Fatal error.
  22402.  
  22403.     RECOMMENDED ACTION: Shorten soft font and retry.
  22404.  
  22405. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22406. RETURN_CODE: 19    MNEMONIC: TRANSMIT_PAGE_ERROR
  22407.  
  22408.     DESCRIPTION: Transmit page was not received correctly. Operational error.
  22409.  
  22410.     RECOMMENDED ACTION: Retry call. Check remote fax machine and/or telephone line..
  22411.  
  22412. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22413. RETURN_CODE: 20    MNEMONIC: PHASE_A_ERROR
  22414.  
  22415.     DESCRIPTION: The transmitted Fax was not received correctly. Operational error
  22416.  
  22417.     RECOMMENDED ACTION: Retry call. Call Hayes Customer Service.
  22418.  
  22419. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22420. RETURN_CODE: 21    MNEMONIC: NO_CNG_ERROR
  22421.  
  22422.     DESCRIPTION: No 1100 Hz CNG tone was detected from the Caller. If CNG detect is
  22423.     enabled this informs the user that a CNG was not detected. If CNG detect is not
  22424.     enabled then this error will not occur. Operational error.
  22425.  
  22426.     RECOMMENDED ACTION: Hang up the Fax call and use a voice connection.
  22427.  
  22428. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22429. RETURN_CODE: 30    MNEMONIC: PHASE_C_ERROR
  22430.  
  22431.     DESCRIPTION: This a general error for Phase C. Operational error.
  22432.  
  22433.     RECOMMENDED ACTION: Retry Call. Call Hayes Customer Support.
  22434.  
  22435. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22436. RETURN_CODE: 32    MNEMONIC: MAX_FRAME_ERR
  22437.  
  22438.     DESCRIPTION: The FAX handshake frame was too large for the JT Fax buffers. This is
  22439.     usually caused by a noisy line. Fatal error.
  22440.  
  22441.     RECOMMENDED ACTION: Check line and redial.
  22442.  
  22443. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22444. RETURN_CODE: 35    MNEMONIC: LONG_LINE_ERROR
  22445.  
  22446.     DESCRIPTION: An error occurred in the reception of data. A line was received and
  22447.     decoded as being to long. This only occurs if the line is noisy.
  22448.  
  22449.     RECOMMENDED ACTION: Check phone line and redial.
  22450.  
  22451. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22452. RETURN_CODE: 36    MNEMONIC: PERCENTAGE_ERROR
  22453.  
  22454.     DESCRIPTION: Percentage of data errors on receive versus the amount of correctly
  22455.     received data. Operational error.
  22456.  
  22457.     RECOMMENDED ACTION: Check line for connection or noise.
  22458.  
  22459. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22460. RETURN_CODE: 40    MNEMONIC: PHASE_D_ERROR
  22461.  
  22462.     DESCRIPTION: A response from the remote machine was not received after transmit
  22463.     during the required time. Operational error.
  22464.  
  22465.     RECOMMENDED ACTION: Check line for connection or noise.
  22466.  
  22467. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22468. RETURN_CODE: 60    MNEMONIC: DTMF_ERROR
  22469.  
  22470.     DESCRIPTION: A valid DTMF signal was not received. Operational error.
  22471.  
  22472.     RECOMMENDED ACTION: Check connection.
  22473.  
  22474. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22475. RETURN_CODE: 61    MNEMONIC: NO_DTMF_TIMEOUT_ERROR
  22476.  
  22477.     DESCRIPTION: A manual DTMF command was issued. The activity timer expired with no
  22478.     DTMF. Operational error.
  22479.  
  22480.     RECOMMENDED ACTION: Check connection and line noise.
  22481.  
  22482. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22483. RETURN_CODE: 62    MNEMONIC: VOICE_ERROR
  22484.  
  22485.     DESCRIPTION: An error occurred during the operation of a voice command. Fatal 
  22486.     error.
  22487.  
  22488.     RECOMMENDED ACTION: Retry voice operation.
  22489.  
  22490. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22491. RETURN_CODE: 122    MNEMONIC: HDLC_MIN_SIZE_ERROR
  22492.  
  22493.     DESCRIPTION: The HDLC frame of the T.30 handshake was shorter than expected.
  22494.     Invalid frame was received. Fatal error.
  22495.  
  22496.     RECOMMENDED ACTION: Check remote Fax.
  22497.  
  22498. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22499. RETURN_CODE: 123    MNEMONIC: HDLC_CRC_ERROR
  22500.  
  22501.     DESCRIPTION: The HDLC frame of the T.30 handshake did not have a good CRC. Fatal
  22502.     error.
  22503.  
  22504.     RECOMMENDED ACTION: Check line for noise and check remote fax. Retry call.
  22505.  
  22506. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22507. RETURN_CODE: 124    MNEMONIC: NEGOTIATING_TRAIN_DCN_ERROR
  22508.  
  22509.     DESCRIPTION: A DCN was received while the Fax was negotiating speed. Fatal error.
  22510.  
  22511.     RECOMMENDED ACTION: Check line for noise and check remote Fax. Retry call.
  22512.  
  22513. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22514. RETURN_CODE: 125    MNEMONIC: HDLC_FRAME_TIMOUT_ERROR
  22515.  
  22516.     DESCRIPTION: A time-out occurred while waiting for the HDLC T.30 handshake. Fatal
  22517.     error.
  22518.  
  22519.     RECOMMENDED ACTION: Check line for noise and check remote Fax. Retry call.
  22520.  
  22521. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22522. RETURN_CODE: 126    MNEMONIC: NO_DCS_REC
  22523.